正则表达式中的这个竖线是什么意思呢?

在看jquery代码的时候,看到这么一句:

var rtypenamespace = /^([^.]*)(?:\.(.+)|)$/;

但是不知道这里面的 '|' 的作用或者意思是什么呢?求解。


吃鸡游戏
浏览 1145回答 1
1回答

长风秋雁

(abc|def) 表示 字符串 或 匹配,只要符合任一字符串即可?:表示匹配里面的字符串,但是不捕获,也就是没有 $1 $2 之类的捕获使用(abc) 和 (?:abc) 的区别是,后者不提供$1 \1 之类的访问,前者可以通过 $1 得到 abc(?:abc|def) 就这匹配任一字符串,但是不补货([^.]*)(?:    \.(.+)    |)| 后面没有东西, 也就是空,按照上例,就是匹配\.(.+)或空
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript