正则表达式:非贪婪式匹配


有时候我们使用正则表达式只希望尽可能少的匹配。

比如在对html文件进行正则匹配时:

 <span>a</span><span>b</span>

如果我们使用.*匹配

<span>.*</span>

匹配结果是

<span>a</span><span>b</span>

很明显不能满足我们的需求。

这时候我们就需要使用非贪婪式匹配,也可以称为懒惰匹配

懒惰匹配与贪婪匹配的差别就是在贪婪匹配的后面加个?号

同样对上面的html进行匹配,我们使用.*?

匹配结果是

<span>a</span>

和我们预期效果一样。

除了.*?这种匹配方式,非贪婪式匹配还包括:

.+?    匹配一次
.??    不匹配
.{m,n}?   匹配m次

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM