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

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

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

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

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

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

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

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

 

posted @ 2018-03-26 15:49  $>_<$  阅读(280)  评论(0编辑  收藏  举报