首頁 > 後端開發 > php教程 > preg_match_all 正規表示式貪婪與非貪婪模式

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

巴扎黑
發布: 2016-11-07 16:39:11
原創
1998 人瀏覽過

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

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

 

那麼,我們實用一下

使用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正規匹配到了整個字串,但是子字串的匹配被忽略了。導致結果錯誤。


來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板