正则表达式贪婪与非贪婪比较
不多废话,直接上例子
用最近写的一个php正则测试程序进行举例:
1.首先是贪婪模式( a+ ): 对于字符串aaabbb, 匹配到一个结果aaa.
2.非贪婪模式( a+? ): 对于字符串aaabbb, 匹配到三个结果a a a.
可见在贪婪模式下,匹配到第1个a时,指针会继续往后走直到找不到a才完成当前匹配;
而在非贪婪模式下,匹配到第1个a时,a+?匹配成功,则完成1次匹配,此时指针继续往后走,匹配到第2个a,完成第2次匹配…..直到遇到第1个b,此时匹配不成功,指针继续往后走…