正则?:匹配但是并不捕获

2019-12-08  本文已影响0人  郭海杰
let str = 'abc'
reg = /(?:a)(b)(c)/
/(?:a)(b)(c)/
var res = str.match(reg)
undefined
console.log(res)
//结果 ["abc", "b", "c", index: 0, input: "abc", groups: undefined]
//这里可以看到?: 代表的是匹配a但是并不捕获a,所以后面捕获到了b,c两个,而没有a

下面是测试结果:


image.png

"?=a" 匹配任何其后紧接指定字符串 n 的字符串
而(?:a) 则是匹配 'a' 但是并不捕获a

上一篇下一篇

猜你喜欢

热点阅读