程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 三分鐘學會PHP正則表達式

三分鐘學會PHP正則表達式

編輯:關於PHP編程

PHP是編寫動態WEB頁面開發常用的腳本語言,而正則表達式是PHP中很重要的一個部分,下面我們就PHP正則表達式和大家詳細的談談吧。在ASP和ColdFusion,用戶可以混合使用PHP和HTML編寫WEB頁面,當訪問者浏覽到該頁面時,服務端會首先對頁面中的PHP命令進行處理,然後把處理後的結果連同HTML內容一起傳送到訪問端的浏覽器。

但是與ASP或 ColdFusion不同,PHP是一種源代碼開放程序,擁有很好的跨平台兼容性。用戶可以在Windows NT系統以及許多版本的Unix系統上運行PHP,而且可以將PHP作為Apache服務器的內置模塊或CGI程序運行。除了能夠精確的控制WEB頁面的顯示內容之外,用戶還可以通過使用PHP發送HTTP報頭。用戶可以通過PHP設置cookies,管理用戶身份識別,並對用戶浏覽頁面進行重定向。PHP具有非常強大的數據庫支持功能,能夠訪問幾乎目前所有較為流行的數據庫系統。此外,PHP可以與多個外接庫集成,為用戶提供更多的實用功能,如生成PDF文件等。雖然很多人對PHP正則表達式已經很熟悉了,不過作為重要的基礎部分,筆記還是不能免掉的。

PHP正則表達式介紹:

1.中括號

  1. [0-9]匹配0-9  
  2. [a-z]匹配a-z小寫字母  
  3. [A-Z]匹配A-Z大寫字母  
  4. [a-zA-Z]匹配所有大小寫字母  
  5. 可以使用ascii來制定更多 

2.量詞

  1. p+匹配至少一個含p的字符串  
  2. p*陪陪任何包含0個或多個p的字符串  
  3. p?匹配任何包含0個或一個p的字符串  
  4. p{2}匹配包含2個p的序列的字符串  
  5. p{2,3}匹配任何包含2個或3個的字符串  
  6. p$匹配任何以p結尾的字符串  
  7. ^p匹配任何以p開頭的字符串  
  8. [^a-zA-Z]匹配任何不包含a-zA-Z的字符串  
  9. p.p匹配任何包含p、接下來是任何字符、再接下來有又是p的字符串  
  10. ^.{2}$匹配任何值包含2個字符的字符串  
  11. <b>(.*)b>匹配任何被<b>>包圍的字符串  
  12. p(hp)*匹配任何一個包含p,後面是多個或0個hp的字符串 

3.預定義字符范圍

  1. [:alpha:]同[a-zA-Z]  
  2. [:alnum:]同[a-zA-Z0-9]  
  3. [:cntrl:]匹配控制字符,比如制表符,反斜槓,退格符  
  4. [:digit:]同[0-9]  
  5. [:graph:]所有ASCII33~166范圍內可以打印的字符  
  6. [:lower:]同[a-z]  
  7. [:punct:]標點符號  
  8. [:upper:]同[A-Z]  
  9. [:space:]空白字符,可以是空格、水平制表符、換行、換頁、回車  
  10. [:xdigit:]十六進制符同[a-fA-F0-9] 

4.ereg語句可以區分大小寫來判斷,下例

  1. if (ereg("([^a-z])","aaaaZaaaaaaa")) echo "不全是小寫的!"; 

ereg還可以返回一個數組 例如

  1. $url="http://www.xuandun.net";  
  2. $a=ereg("^(http://www).([[:alnum:]]+).([[:alnum:]]+)",$url,$regs);  
  3. echo $regs[0],"<br>";  
  4. echo $regs[1],"<br>";  
  5. echo $regs[2],"<br>";  
  6. echo $regs[3],"<br>"; 

得到

  1. http://www.xuandun.net  
  2. http://www  
  3. xuandun  
  4. net  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved