亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区
Chinaunix
標(biāo)題:
正則表達(dá)式 --PHP
[打印本頁]
作者:
coolias
時間:
2009-07-14 16:15
標(biāo)題:
正則表達(dá)式 --PHP
最近一直在做審計郵件、帖子的工作,所以得首先學(xué)會正則。雖說網(wǎng)上對正則表達(dá)式解釋的已經(jīng)夠詳盡的了, 但是把網(wǎng)上的試子照搬到php中,還是有一些惹人厭的問題:
譬如在
正則表達(dá)式30分鐘入門教程
中有個這樣的式子(?).*(?=)用于匹配不包含屬性的簡單HTML標(biāo)簽內(nèi)里的內(nèi)容,按道理來說直接在preg_match中運用應(yīng)該沒什么問題,可實際呢:
$str = "aaaaaabbbbbbcccccccddddddfffff";
preg_match("/(?).*(?=)/s", $str, $matches);
var_dump($matches);
結(jié)果報錯:
Warning: preg_match(): Compilation failed: lookbehind assertion is not fixed length at offset 11...于是把\w+直接寫成font:
preg_match("/(?).*(?=)/s", $str, $matches);
YYD,結(jié)果盡然為空,這個問題困擾了我好久,瞎貓碰死耗子,將\1無名組換成有名組盡然成了:
preg_match("/(?font)>).*(?=)/s", $str, $matches);
終于成功了,但是那些失敗的例子都在正則的
測試工具
里試過了,不知道為什么...
下面舉幾個經(jīng)典正則的小例子:
\b((?!abc)\w)+\b , 匹配不包含連續(xù)字符串a(chǎn)bc的單詞,對于字符串"asdf abcaa abcbb abab", 它會取出asdf 和 abab。
((?!).|(?R))* 遞歸匹配,給出上面的字符串a(chǎn)aaaaabbbbbbcccccccddddddfffff,其會從中引出兩組:0組,aaaaaabbbbbbcccccccdddddd 1組,dddddd。其它的以后再寫。
給出幾其他人的好文章:
C#基礎(chǔ)回顧:正則表達(dá)式
正則表達(dá)式30分鐘入門教程
正則表達(dá)式高級技巧背后的關(guān)鍵概念
表達(dá)式的遞歸匹配
遞歸深度匹配 正則表達(dá)式
本文來自ChinaUnix博客,如果查看原文請點:
http://blog.chinaunix.net/u1/54338/showart_1995965.html
歡迎光臨 Chinaunix (http://72891.cn/)
Powered by Discuz! X3.2