一般情況下,正則表達式的匹配是貪婪模式的,比如下面這個例子:
字符串:….src=”http://www.bloghome.cn/1.mp3″ type=”application/x-mplayer2″ ….
要求的結(jié)果:http://www.bloghome.cn/1.mp3
如果匹配表達式寫為:/src=”(.*)”/,則得不到正確的結(jié)果,因為最后一個雙引號的匹配是貪婪模式的。
解決辦法:匹配表達式寫為:
/src=”(.*)”.?/
上面表達式中,”.?是非貪婪模式匹配。也就是說,只要在一個字符后面跟上限定個數(shù)的特殊字符,匹配就是非貪婪模式了。