正向预查
- x(?=y) 匹配x后跟着y的字符串,这种向后匹配的方式叫做正向预查。
贪婪模式&非贪婪模式
- 贪婪模式应用于量词,量词的默认模式是贪婪模式,能匹配多不匹配少
- 量词后面加?则为非贪婪模式,能匹配少则不匹配多
- 对于任意一个字符,使用量词*或?时,对于非贪婪模式进行匹配时,都会匹配出""
"aaa".match(/a*/g) // ["aaa", ""] *会对最后一个光标位进行匹配,所以会多出一个""
"aaa".match(/a*?/g) // ["", "", "", ""]
// 将a...b形式的字符匹配出来
"abd55fdlia9999b".match(/a.*b/) // abd55fdlia9999b
"abd55fdlia9999b".match(/a.*?b/) // ["ab", "a9999b"]