能解释一下这段正则表达式/\/?(?:\?.*)?$/ 中(?:\?.*)是什么意思吗

能解释一下这段正则表达式//?(?:?.*)?$/ 中(?:?.*)是什么意思吗

阅读 3.8k
2 个回答

()中间是的会被捕获,加上?:是非捕获,至于\?.*就是用于匹配?和后面任意字符了。

感觉楼上说反了呢:

?: 标示匹配并捕获
?= 才是匹配但是不捕获

'ab'.match(/a(?:b)/)[0] === 'ab'
'ab'.match(/a(?=b)/)[0] === 'a'
'ac'.match(/a(?:b)/) === null
'ac'.match(/a(?=b)/) === null

后面不用讲了吧?感觉像是匹配location.search的呢

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题