preg_match_all 正则表达式贪婪与非贪婪模式

巴扎黑
Lepaskan: 2016-11-07 16:39:11
asal
1907 orang telah melayarinya

贪婪匹配:正则表达式一般趋向于最大长度匹配,也就是所谓的贪婪匹配。

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

 

那么,我们实用一下

使用php 的行数preg_match_all

以下我们要将字符串content 中的两个链接取出来

 

 

Php代码  

1. 

2. $content='

这显然不是我们想要的。

那么,我么么只要把$play_pattern加多一个字母,就能匹配到我们所需要的信息

Php代码

1. $play_pattern = '/

结果就是

Array
(
[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
(
[0] => BD
[1] => DVD
)


)

 

贪婪模式和非贪婪模式差别就是那么大。

在正则html上的列表的时候,经常就会出现这样的错误。使用preg_match_all正则匹配到了整个字符串,但是子串的匹配被忽略了。导致结果错误。


sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!