三分鐘學(xué)會(huì)PHP正則表達(dá)式
PHP是編寫動(dòng)態(tài)WEB頁(yè)面開發(fā)常用的腳本語言,而正則表達(dá)式是PHP中很重要的一個(gè)部分,下面我們就PHP正則表達(dá)式和大家詳細(xì)的談?wù)劙伞T贏SP和ColdFusion,用戶可以混合使用PHP和HTML編寫WEB頁(yè)面,當(dāng)訪問者瀏覽到該頁(yè)面時(shí),服務(wù)端會(huì)首先對(duì)頁(yè)面中的PHP命令進(jìn)行處理,然后把處理后的結(jié)果連同HTML內(nèi)容一起傳送到訪問端的瀏覽器。
#T#但是與ASP或 ColdFusion不同,PHP是一種源代碼開放程序,擁有很好的跨平臺(tái)兼容性。用戶可以在Windows NT系統(tǒng)以及許多版本的Unix系統(tǒng)上運(yùn)行PHP,而且可以將PHP作為Apache服務(wù)器的內(nèi)置模塊或CGI程序運(yùn)行。除了能夠精確的控制WEB頁(yè)面的顯示內(nèi)容之外,用戶還可以通過使用PHP發(fā)送HTTP報(bào)頭。用戶可以通過PHP設(shè)置cookies,管理用戶身份識(shí)別,并對(duì)用戶瀏覽頁(yè)面進(jìn)行重定向。PHP具有非常強(qiáng)大的數(shù)據(jù)庫(kù)支持功能,能夠訪問幾乎目前所有較為流行的數(shù)據(jù)庫(kù)系統(tǒng)。此外,PHP可以與多個(gè)外接庫(kù)集成,為用戶提供更多的實(shí)用功能,如生成PDF文件等。雖然很多人對(duì)PHP正則表達(dá)式已經(jīng)很熟悉了,不過作為重要的基礎(chǔ)部分,筆記還是不能免掉的。
PHP正則表達(dá)式介紹:
1.中括號(hào)
- [0-9]匹配0-9
- [a-z]匹配a-z小寫字母
- [A-Z]匹配A-Z大寫字母
- [a-zA-Z]匹配所有大小寫字母
- 可以使用ascii來制定更多
2.量詞
- p+匹配至少一個(gè)含p的字符串
- p*陪陪任何包含0個(gè)或多個(gè)p的字符串
- p?匹配任何包含0個(gè)或一個(gè)p的字符串
- p{2}匹配包含2個(gè)p的序列的字符串
- p{2,3}匹配任何包含2個(gè)或3個(gè)的字符串
- p$匹配任何以p結(jié)尾的字符串
- ^p匹配任何以p開頭的字符串
- [^a-zA-Z]匹配任何不包含a-zA-Z的字符串
- p.p匹配任何包含p、接下來是任何字符、再接下來有又是p的字符串
- ^.{2}$匹配任何值包含2個(gè)字符的字符串
- <b>(.*)< SPAN>b>匹配任何被<b>< SPAN>>包圍的字符串
- p(hp)*匹配任何一個(gè)包含p,后面是多個(gè)或0個(gè)hp的字符串
3.預(yù)定義字符范圍
- [:alpha:]同[a-zA-Z]
- [:alnum:]同[a-zA-Z0-9]
- [:cntrl:]匹配控制字符,比如制表符,反斜杠,退格符
- [:digit:]同[0-9]
- [:graph:]所有ASCII33~166范圍內(nèi)可以打印的字符
- [:lower:]同[a-z]
- [:punct:]標(biāo)點(diǎn)符號(hào)
- [:upper:]同[A-Z]
- [:space:]空白字符,可以是空格、水平制表符、換行、換頁(yè)、回車
- [:xdigit:]十六進(jìn)制符同[a-fA-F0-9]
4.ereg語句可以區(qū)分大小寫來判斷,下例
- if (ereg("([^a-z])","aaaaZaaaaaaa")) echo "不全是小寫的!";
ereg還可以返回一個(gè)數(shù)組 例如
- $url="http://www.xuandun.net";
- $a=ereg("^(http://www)\.([[:alnum:]]+)\.([[:alnum:]]+)",$url,$regs);
- echo $regs[0],"<br>";
- echo $regs[1],"<br>";
- echo $regs[2],"<br>";
- echo $regs[3],"<br>";
得到
- http://www.xuandun.net
- http://www
- xuandun
- net