首页 > Web开发 > 详细

jQuery源码学习(6) - 一个正则

时间:2014-03-10 08:22:12      阅读:479      评论:0      收藏:0      [点我收藏+]

jquery ajax模块的一个正则表达式

rurl = /^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/;

这个表达式是用于提取 url中的 protocol:host:port

几个知识点复习一下:
1. ^ 匹配一个输入或一行的开头, 例如/^a/匹配"an" 不匹配"An",
    如果设置了Multiline属性,^也匹配“\n”或“\r”之后的位置
    ^ 出现在中括号时,匹配未包含其之后的任意字符,例如[^xyz]表示不匹配xyz

2. 分组
    分为捕获性分组和非捕获性分组,捕获分组会存储匹配的内容,以便下次使用,
    非捕获性分组不存储匹配的内容,以(?:...)表示

3. [\w.+-] protocol 包含 字母数字,.+-这几类字符,并且是以字母开头,参考URI 
    .+都是特殊字符,为什么不转义呢?[\w\.\+-]
    奇怪的是chrome下面测试[\w.+-]和[\w\.\+-]是等价的?

4. | 选择符,rurl中选择符的使用有点奇怪,
    /x|/ 的意思是匹配x或者空字符串
    var cc = /(x)|()/ -> ["", undefined, ""];

jQuery源码学习(6) - 一个正则,布布扣,bubuko.com

jQuery源码学习(6) - 一个正则

原文:http://www.cnblogs.com/sudo/p/3591006.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!