默认情况下上面的前瞻后顾4种都是默认不匹配捕获组里面的内容的,也就是不匹配括号里的条件的。例如我们的正向前瞻/d+(?=)/g,只会匹配到数字,并不会匹配到。如果我们想要也匹配到怎么办呢?答案就是给也包上一个括号:
let str = "1 turkey costs 2"; let reg = /\d+(?=())/; str.match(reg); //["2", "", index: 15, input: "1 turkey costs 2", groups: undefined]
这样就匹配到了数字2和它后面的。
下面再来看看后顾型:
let str = "1 turkey costs $2"; let reg = /(?<=(\$|£))\d+/; console.log( str.match(reg) ); //["2", "$", index: 16, input: "1 turkey costs $2", groups: undefined]
需要特别注意到的一点是,对于后顾型,虽然条件在匹配项的前面,但是匹配出来的结果顺序依然是条件在匹配项的后面。所以这里match()出来的结果是2在$的前面。
总结
以上所述是小编给大家介绍的正则表达式 捕获组,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
您可能感兴趣的文章: