PHP是編寫動態WEB頁面開發常用的腳本語言,而正則表達式是PHP中很重要的一個部分,下面我們就PHP正則表達式和大家詳細的談談吧。在ASP和ColdFusion,用戶可以混合使用PHP和HTML編寫WEB頁面,當訪問者浏覽到該頁面時,服務端會首先對頁面中的PHP命令進行處理,然後把處理後的結果連同HTML內容一起傳送到訪問端的浏覽器。
PHP正則表達式介紹:
1.中括號
- [0-9]匹配0-9
- [a-z]匹配a-z小寫字母
- [A-Z]匹配A-Z大寫字母
- [a-zA-Z]匹配所有大小寫字母
- 可以使用ascii來制定更多
2.量詞
- p+匹配至少一個含p的字符串
- p*陪陪任何包含0個或多個p的字符串
- p?匹配任何包含0個或一個p的字符串
- p{2}匹配包含2個p的序列的字符串
- p{2,3}匹配任何包含2個或3個的字符串
- p$匹配任何以p結尾的字符串
- ^p匹配任何以p開頭的字符串
- [^a-zA-Z]匹配任何不包含a-zA-Z的字符串
- p.p匹配任何包含p、接下來是任何字符、再接下來有又是p的字符串
- ^.{2}$匹配任何值包含2個字符的字符串
- <b>(.*)< SPAN>b>匹配任何被<b>< SPAN>>包圍的字符串
- p(hp)*匹配任何一個包含p,後面是多個或0個hp的字符串
3.預定義字符范圍
- [:alpha:]同[a-zA-Z]
- [:alnum:]同[a-zA-Z0-9]
- [:cntrl:]匹配控制字符,比如制表符,反斜槓,退格符
- [:digit:]同[0-9]
- [:graph:]所有ASCII33~166范圍內可以打印的字符
- [:lower:]同[a-z]
- [:punct:]標點符號
- [:upper:]同[A-Z]
- [:space:]空白字符,可以是空格、水平制表符、換行、換頁、回車
- [:xdigit:]十六進制符同[a-fA-F0-9]
4.ereg語句可以區分大小寫來判斷,下例
- if (ereg("([^a-z])","aaaaZaaaaaaa")) echo "不全是小寫的!";
ereg還可以返回一個數組 例如
- $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