正则表达式中的贪婪模式和懒惰模式

1,需求:从这段字符串的匹配出<h3></h3>中的内容

<h3>abd</h3><h3>bcd</h3><h3>dfsd</h3>

我们可以写这两种正则表达式来实现

1,<h3>.{0,}</h3>    2,<h3>.*</h3>

结果我们发现:默认的贪婪模式只匹配了开头的<h3>和结尾的</h3>,没有把中间的每一对标签的内容匹配出来

我们在后面加个?参数,就启用了懒惰模式,找到一对就显示出来,

总结:正则表达式,表示字符串重复个数元字符,'?,+,*,{}' 默认都会选择贪婪模式,会最大长度匹配字符串,而要切换到懒惰模式,就只是在该元字符,后面加多一个”?” 即可切换到非贪婪模式(懒惰模式)。

自立更生,艰苦奋斗!
原文地址:https://www.cnblogs.com/javazxy/p/8651543.html