正則表達式:非貪婪式匹配


有時候我們使用正則表達式只希望盡可能少的匹配。

比如在對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