正则捕获的贪婪性
正则捕获的贪婪性
:默认情况下,正则捕获的时候,是按照当前正则所匹配的最长结果来获取的
let str = "正则2019@2020捕获";
let reg = /\d+/g;
console.log(str.match(reg)); //=>["2019","2020"]
在量词元字符后面设置?
:取消捕获时候的贪婪性(按照正则匹配的最短结果来获取)
let str = "正则2019@2020捕获";
reg = /\d+?/g;
console.log(str.match(reg)); //=>["2", "0", "1", "9", "2", "0", "2", "0"]
问号在正则中的五大作用:
- 问号左边是非量词元字符:本身代表量词元字符,出现零到一次
- 问号左边是量词元字符:取消捕获时候的贪婪性
( ?: )
只匹配不捕获(?=)
正向预查(?!)
负向预查