总览
量词的作用在上一篇已经讲过了,接下来就通过几个实例来了解贪婪模式、非贪婪模式、独占模式之间的差异
贪婪模式与非贪婪模式
贪婪模式
使用 a*
来匹配 aaabb会得到如下结果:
总共有四次匹配符合,分别是:'aaa', '', '', ''
后三次都是空字符串,这也是 *
这一量词的特点,它会匹配空字符串,而正则认为字符串以空字符结尾。
如果 a* 去匹配 ‘aaa’,得到结果也会是两个,分别是'aaa', ‘’
非贪婪模式
在量词后面加上?
就是非贪婪匹配了,使用 a*?
来匹配 aaabb 会得到如下结果:
分别有9个匹配,分别是:'','a','','a','','a','','',''
,每个最小匹配的a前面还有一个空字符串,前面末尾还要再匹配一次空字符串已经让人觉得费解了,现在跑出来说,每个a前面还要匹配一个空字符串,