正则表达式SoEasy 13 贪婪匹配与懒惰匹配

avatar 2017年6月17日20:54:47 评论 3,036

加入VIP,可以享受无广告视频播放!更可享受教程提前看!详情猛戳:VIP介绍

贪婪与懒惰,本来就是一对反义词,很简单的理解就是,贪婪匹配就是尽可能多的匹配,懒惰匹配就是尽可能少的匹配。我们来看下面两个表达式。

.*  贪婪匹配

.*?  懒惰匹配

这两个匹配唯一的区别就是一个问号,前一个是尽可能多的匹配内容,后一个是尽可能少的匹配。

举例:  要求是匹配出所有中间的数字,使用小括号。

<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>

如果我们这样写:<li>([\s\S]*)</li>,是为贪婪匹配,出来的结果就会尽可能的往后找,尽可能的多包含在一个结果之中,造成错误:

正则表达式SoEasy 13 贪婪匹配与懒惰匹配

所以我们应该使用懒惰匹配:<li>([\s\S]*?)</li>,最终结果:

正则表达式SoEasy 13 贪婪匹配与懒惰匹配


有的时候,贪婪匹配匹配到的范围过大,造成错误,所以需要加一个问号,使用懒惰匹配。问号可以加在表示数量的这些符号后面,比如*或者+等,大家可以自己尝试。

 

 

以下是我们的视频教程:

在线观看:

 

 

高清源文件下载:

内容已经隐藏,请注册为本站会员后查看

 

 

 

感谢大家的收看,我们下期再见!

avatar

发表评论

您必须才能发表评论!