php正則表達(dá)式中的非貪婪模式匹配
更新時(shí)間:2007年02月14日 00:00:00 作者:
一般情況下,正則表達(dá)式的匹配是貪婪模式的,比如下面這個(gè)例子:
字符串:....src="http://www.bloghome.cn/1.mp3" type="application/x-mplayer2" ....
要求的結(jié)果:http://www.bloghome.cn/1.mp3
如果匹配表達(dá)式寫為:/src="(.*)"/,則得不到正確的結(jié)果,因?yàn)樽詈笠粋€(gè)雙引號(hào)的匹配是貪婪模式的。
解決辦法:匹配表達(dá)式寫為:
/src="(.*)".?/
上面表達(dá)式中,".?是非貪婪模式匹配。也就是說,只要在一個(gè)字符后面跟上限定個(gè)數(shù)的特殊字符,匹配就是非貪婪模式了。
字符串:....src="http://www.bloghome.cn/1.mp3" type="application/x-mplayer2" ....
要求的結(jié)果:http://www.bloghome.cn/1.mp3
如果匹配表達(dá)式寫為:/src="(.*)"/,則得不到正確的結(jié)果,因?yàn)樽詈笠粋€(gè)雙引號(hào)的匹配是貪婪模式的。
解決辦法:匹配表達(dá)式寫為:
/src="(.*)".?/
上面表達(dá)式中,".?是非貪婪模式匹配。也就是說,只要在一個(gè)字符后面跟上限定個(gè)數(shù)的特殊字符,匹配就是非貪婪模式了。
相關(guān)文章
正則文法與正則表達(dá)式的相互轉(zhuǎn)化問題(編譯原理)
這篇文章主要介紹了正則文法與正則表達(dá)式的相互轉(zhuǎn)化問題(編譯原理),?除了正則文法外,正則表達(dá)式也可以相應(yīng)的用來描述單詞,正則文法和正則表達(dá)式的能力相同,且可以互相轉(zhuǎn)化,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-08-08如何使用正則去掉html中標(biāo)簽與標(biāo)簽之間的空格
文章介紹了如何使用正則表達(dá)式去除HTML標(biāo)簽之間多余的空格,包括處理多個(gè)空格、換行符、排除<pre>標(biāo)簽內(nèi)的空格以及處理標(biāo)簽內(nèi)的空格,提供了三種JavaScript正則表達(dá)式解決方案,并解釋了它們的優(yōu)缺點(diǎn),感興趣的朋友跟隨小編一起看看吧2024-11-11