能解释一下这段正则表达式//?(?:?.*)?$/ 中(?:?.*)是什么意思吗
感觉楼上说反了呢:
?: 标示匹配并捕获
?= 才是匹配但是不捕获
'ab'.match(/a(?:b)/)[0] === 'ab'
'ab'.match(/a(?=b)/)[0] === 'a'
'ac'.match(/a(?:b)/) === null
'ac'.match(/a(?=b)/) === null
后面不用讲了吧?感觉像是匹配location.search的呢
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
4 回答2.5k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
()
中间是的会被捕获,加上?:
是非捕获,至于\?.*
就是用于匹配?和后面任意字符了。