首頁  >  文章  >  後端開發  >  preg_match_all 正規表示式貪婪與非貪婪模式

preg_match_all 正規表示式貪婪與非貪婪模式

巴扎黑
巴扎黑原創
2016-11-07 16:39:111972瀏覽

貪婪匹配:正規表示式一般趨向於最大長度匹配,也就是所謂的貪婪匹配。

非貪婪匹配:就是匹配到結果就好,就少的匹配字符。

 

那麼,我們實用一下

使用php 的行數preg_match_all

以下我們要將字串content 中的兩個連結取出來

2.  $content='

 

這顯然不是我們想要的。

那麼,我麼麼只要把$play_pattern加多一個字母,就能配對到我們所需要的資訊

 

Php代碼  

1.  $play_pattern (

[0] => Array

(

[0] => BD

[1] => DVD

)

[1] => Array

(

[0] => /videos/68759vod-play id-68759-sid-0-pid-1.html

[1] => /videos/68759vod-play-id-68759-sid-0-pid-0.html

)



[2] => Array
)


[2] = Array

(
[0] => BD
[1] => DVD
)


)

 

貪婪模式與非貪婪模式差異就是那麼大。

在正規html上的清單的時候,常常就會出現這樣的錯誤。使用preg_match_all正規匹配到了整個字串,但是子字串的匹配被忽略了。導致結果錯誤。


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn