PHP正規表示式

2021-06-18 06:36:25 字數 2872 閱讀 8186

今天起,會開始弄乙個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 等,以此類推代表分別的次級規則。

preg_split 可以將整段字串按匹配到的正規表示式分割成 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正規表示式

今天起,會開始弄乙個php教程系列文章.主要是針對正規表示式的.大概的內容排序是這樣安排的 1.php 中的正規表示式 2.八個實用的php正規表示式 3.如何書寫更易閱讀的php正規表示式 4.半小時精通正規表示式 5.正則在文章採集系統中的應用及常見問題答疑 6.更多策劃中 投稿,完善本系列,讓...