今天起,會開始弄乙個php教程系列文章. 主要是針對正規表示式的.
大概的內容排序是這樣安排的:
1. php 中的正規表示式
2. 八個實用的php正規表示式
3. 如何書寫更易閱讀的php正規表示式
4. 半小時精通正規表示式
5. 正則在文章採集系統中的應用及常見問題答疑
6. ...更多策劃中
投稿,完善本系列,讓新手少走一些彎路.
php與正則表達系列之: php 中的正規表示式
正規表示式是一種表示規則的途經,在 php 中利用這些規則可以讓你靈活變通地
匹配、檢驗、
替換以及
修改字串。本文涉及到 pcre 的基礎,以及如何使用 preg_match(),preg_replace(),and preg_split() 函式。
接下來就讓我們從例項循序漸進地開始學習如何使用這些函式。
利用 preg_match(),我們可以完成字串的規則匹配。如果找到乙個匹配,preg_match() 函式返回 1,否則返回 0。還有乙個可選的第三引數可以讓你把匹配的部分存在乙個陣列中。在驗證資料時這個功能可以變得非常有用。
$string = "football";if (preg_match('/foo/', $string))
上面的例子將成功匹配,因為單詞 football 裡面包含 foo。現在我們來試乙個更複雜的,例如驗證乙個 email 位址。
$string = "[email protected]";if (preg_match(
'/^[^0-9][a-za-z0-9_]+([.][a-za-z0-9_]+)*[@][a-za-z0-9_]+([.][a-za-z0-9_]+)*[.][a-za-z]$/',
$string))
這個例子將驗證出此 email 位址為正確格式。現在讓我們來看看這段正規表示式所代表的各種規則。
pcre 顧名思義,與在 perl 中的正規表示式有相同的語法,所以每段正規表示式必須要有一對定界符。我們一般使用/為定界符。
開頭的^和結尾的$讓php從字串開頭檢查到結尾。假使沒有 $,程式仍會匹配到 email 的末尾。
[和]被用來限制許可輸入型別。例如 a-z 允許所有的小寫字母,a-z 允許所有的大寫字母,0-9 所有數字,等等,以及更多其他型別。
被用來限制期望的字元數。例如 表示字串的每一節可以有 2-4 字元長度,像是 .com.cn 或 .info。在這裡, "." 並不算乙個字元,因為 之前定義的許可輸入型別只有大小寫字母,故此段只匹配大小寫字母
(和)被用來合併小節,並定義字串中必須存在的字元。(a|b|c) 能夠匹配 a 或 b 或 c。
(.) 將匹配所有字元,而 [.] 只匹配 "." 本身。
要使用一些符號本身,必須在前增加乙個。這些字元有:( ) [ ] . * ? + ^ | $
preg_replace 允許你替換字串中匹配到你定義的正規表示式。乙個簡單的注釋移除功能:
preg_replace('[(/*)+.+(*/)]', '', $val);
這段**可以移除在 php 和 css 中使用 /* 注釋 */ 格式的多多行注釋。其中的三個引數分別為正規表示式,要替換成的字串和要替換的目標字串(這裡要做移除功能,所以是個空白字串 -> '')。如果你想匹配次級規則,可以使用 $0 代表全部匹配,$1、$2 等,以此類推代表分別的次級規則。
$tags = preg_split('/[,]/', 'my,tags,unevenly,spaced');print_r($tags);
正規表示式是乙個很實用的技巧,讓你可以專注於所期望得到的內容。
如果你想跳過痛苦的練習過程而直接獲得一些成功的喜悅感,請期待
php5研究室推出的 "php與正則表達系列之二: 八個實用php正規表示式"。
/定界符
^字串頭
$字串尾
[a-z]所有小寫字母
[a-z]所有大寫字母
[0-9]所有數字
?零或乙個緊接前的字元
*零或多個緊接前的字元
+一或多個緊接前的字元
4個緊接前的字元
4-8個緊接前的字元
.任意字元
(red|green|blue)red 或 green 或 blue(紅 或 綠 或 藍)
s空格
特殊字元(需要在前加 )
( ) [ ] . * ? + ^ | $
php正規表示式詳解,PHP正規表示式使用詳解
操作符 描述 轉義符 圓括號和方括號 限定符 anymetacharacter 位置和順序 或 操作 全部符號解釋 字元 描述 將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個 向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開...
PHP正規表示式
php正規表示式的定義 用於描述字元排列和匹配模式的一種語法規則。它主要用於字串的模式分割 匹配 查詢及替換操作。php中的正則函式 php中有兩套正則函式,兩者功能差不多,分別為 一套是由pcre perl compatible regular expression 庫提供的。使用 preg 為字...
php正規表示式
1 正規表示式 regular expression 有規則的表達。php提供支援posix和perl兩種風格的正規表示式。2 量詞六個 表示匹配數量。匹配2到4個,也包括3,並非只2和3。是至少2個的意思,逗號別忘記。注意 都是貪婪匹配,會盡可能多的匹配文字,只要在它們後面加上 號,就可以變成懶惰...