字符串“aaab”
正则表达式:/a*?b/
返回:aaab
原因:
/a*?b/,使用非贪婪的重复版本,它应该匹配字母b,通过在字母b前加最少的字母a。
先找到匹配第一个字母b的位置,再继续最少匹配a。应该是ab?
权威指南的解释是:
该模式的非贪婪版本在字符串的第一个字符处不匹配,所以该匹配将返回,甚至不考虑对后面的字符进行匹配
另可参考:http://www.cnitblog.com/yemoo/archive/2006/06/22/12675.html
个人理解如下: 在图解中,①为取出,②为返回。①和②同时匹配成功时,取②的值。




根据以上过程,得出结果为:aaab
字符串“aaab”
正则表达式:/a*?a/
返回:a

根据以上过程,得出结果为:a
本文详细解析了正则表达式的使用方法,包括贪婪与非贪婪版本的区别,并通过实例展示了如何利用正则表达式匹配特定字符串。文章还提供了一个个人的理解过程,帮助读者深入理解正则表达式的匹配机制。
433

被折叠的 条评论
为什么被折叠?



