加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长资讯 > 传媒 > 正文

jQuery1.3.2源码学习2:两个重要的正则表达式

发布时间:2018-09-15 20:07:49 所属栏目:传媒 来源:站长网
导读:32 // Is it a simple selector 33 isSimple = /^.[^:#[.,]*$/ / / 表示这是正则表达式 ^ 表示开始部分 $ 表示结束部分 . 匹配除了 n 之外的任何字符 [^character_group] 表示不在字符集合中 [^:#[.,] 表示除了冒号 (:), #, 前中括号([), 句号(.) 和逗
32 // Is it a simple selector
33 isSimple = /^.[^:#[.,]*$/

/ / 表示这是正则表达式
^ 表示开始部分
$ 表示结束部分

. 匹配除了 n 之外的任何字符
[^character_group] 表示不在字符集合中
[^:#[.,] 表示除了冒号 (:), #, 前中括号([), 句号(.) 和逗号(,)之外的任何一个字符
[^:#[.,]* 表示上述任意一个字符从 0 到任意次的重复

29 // A simple way to check for HTML strings or ID strings
30 // (both of which we optimize for)
31 var quickExpr = /^[^<]*(<(.|s)+>)[^>]*$|^#(w+)$/;

正则表达式的内容为 ^[^<]*(<(.|s)+>)[^>]*$|^#(w+)$

从中间的 | 或者, 将表达式分为两部分
前面为 ^[^<]*(<(.|s)+>)[^>]*$

[^<] 表示除了 < 之外的任何一个字符
[^<]* 表示任意多个除了 < 之外的任意字符

s 表示任意的空白字符,例如,空格,回车,制表等等。
.|s 表示任意字符
(.|s)+ 表示任意多个字符,注意,因为是一个 +,所以是贪婪模式。
<(.|s)+> 表示开始为 < ,中间为任意字符,由 > 结尾的任意串,也就是以 < 开始,以 > 结束的最长的串。
[^>]* 表示除了 > 之外的任意多个字符

合起来的意思就是,开始有多个除 < 之外的任意字符,中间为 < 开头,中间为任意串,后面再跟着 > ,最后为任意多个除 > 之外的字符的串,也就是 html 串

后面为 ^#(w+)&

w 表示任何一个单词字符,即 [a-zA-Z_0-9]。
w+ 表示 1 个以上的字符
#(w+) 表示以 # 开始的一个以上的单词字符,也就是jQuery 中的 ID 表示格式。

此处使用了 3 个括号,表示分组,如果匹配了第一个分组,下标为 1 ,匹配了第三个分组,则说明为 ID 。

出处:博客园

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读