贪婪与懒惰,本来就是一对反义词,很简单的理解就是,贪婪匹配就是尽可能多的匹配,懒惰匹配就是尽可能少的匹配。我们来看下面两个表达式。
.*
贪婪匹配
.*?
懒惰匹配
这两个匹配唯一的区别就是一个问号,前一个是尽可能多的匹配内容,后一个是尽可能少的匹配。
举例: 要求是匹配出所有中间的数字,使用小括号。
<li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li>
如果我们这样写:<li>([\s\S]*)</li>
,是为贪婪匹配,出来的结果就会尽可能的往后找,尽可能的多包含在一个结果之中,造成错误:
所以我们应该使用懒惰匹配:<li>([\s\S]*?)</li>
,最终结果:
有的时候,贪婪匹配匹配到的范围过大,造成错误,所以需要加一个问号,使用懒惰匹配。问号可以加在表示数量的这些符号后面,比如*
或者+
等,大家可以自己尝试。
以下是我们的视频教程:
在线观看:
高清源文件下载:
内容已经隐藏,请注册为本站会员后查看
感谢大家的收看,我们下期再见!
如果你觉得内容不错的话,欢迎点赞,评论和分享哟~
评论