为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

吃鸡游戏 2019-02-16 14:35:01
在看jquery代码的时候,看到这么一句:var rtypenamespace = /^([^.]*)(?:\.(.+)|)$/;但是不知道这里面的 '|' 的作用或者意思是什么呢?求解。
查看完整描述

1 回答

?
长风秋雁

TA贡献1757条经验 获得超7个赞

(abc|def) 表示 字符串 或 匹配,只要符合任一字符串即可


?:表示匹配里面的字符串,但是不捕获,也就是没有 $1 $2 之类的捕获


使用(abc) 和 (?:abc) 的区别是,后者不提供$1 \1 之类的访问,前者可以通过 $1 得到 abc


(?:abc|def) 就这匹配任一字符串,但是不补货


([^.]*)

(?:

    \.(.+)

    |

)

| 后面没有东西, 也就是空,

按照上例,就是匹配\.(.+)或空


查看完整回答
反对 回复 2019-02-16
  • 1 回答
  • 0 关注
  • 1144 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信