正则表达式贪婪与非贪婪比较

不多废话,直接上例子

用最近写的一个php正则测试程序进行举例:

1.首先是贪婪模式( a+ ): 对于字符串aaabbb, 匹配到一个结果aaa.

2.非贪婪模式( a+? ): 对于字符串aaabbb, 匹配到三个结果a a a.

可见在贪婪模式下,匹配到第1个a时,指针会继续往后走直到找不到a才完成当前匹配;

而在非贪婪模式下,匹配到第1个a时,a+?匹配成功,则完成1次匹配,此时指针继续往后走,匹配到第2个a,完成第2次匹配.....直到遇到第1个b,此时匹配不成功,指针继续往后走...

最后奉上php正则测试程序github地址:https://github.com/a7laya/reg_test

猜你喜欢

转载自www.cnblogs.com/a7laya/p/9006865.html
今日推荐