在看jquery代码的时候,看到这么一句:var rtypenamespace = /^([^.]*)(?:\.(.+)|)$/;但是不知道这里面的 '|' 的作用或者意思是什么呢?求解。
1 回答
长风秋雁
TA贡献1757条经验 获得超7个赞
(abc|def) 表示 字符串 或 匹配,只要符合任一字符串即可
?:表示匹配里面的字符串,但是不捕获,也就是没有 $1 $2 之类的捕获
使用(abc) 和 (?:abc) 的区别是,后者不提供$1 \1 之类的访问,前者可以通过 $1 得到 abc
(?:abc|def) 就这匹配任一字符串,但是不补货
([^.]*)
(?:
\.(.+)
|
)
| 后面没有东西, 也就是空,
按照上例,就是匹配\.(.+)或空
添加回答
举报
0/150
提交
取消