PHP 正規表示式

2022-07-13 09:39:11 字數 2146 閱讀 1070

1.php中兩個常用的正則函式

a.preg_match 正則函式,以perl語言為基礎

語法:preg_match( mode,string subject,array matches)

說明:mode引數---- 正則的模組,也就是正規表示式(語法)

subject引數---- 正則的內容

matches引數---- 正則的結果(獲得乙個陣列的形式)

b.ereg 正則函式,以posix基礎(unix、script)

語法:ereg(mode ,string subject, array regs)

2.正規表示式中包括的元素

a.原子(普通字元:a-z a-z 0-9 、原子表、轉義字元)

b.元字元(有特殊功能的字元,如:# 、*)

c.模式修正符(系統內建部分字元 i、m、s、u ...)

3.正規表示式中的「原子」

a.a-z a-z _ 0-9 //最常見的字元

b.(abc)(skd) //用圓括號包含起來的單元符號(乙個整體)

c.[abcs][^abd] //用方括號包含的原子表,原子表中的^代表排除或相反的內容

d.轉義字元

\d 包含所有的數字[0-9]

\d 除所有數字外[^0-9]

\w 包含所有英文本元[a-z a-z 0-9]

\w 除所有英文本元外[^a-z a-z 0-9]

\s 回車,換行等

......

註明: 圓括號 必須是整體才能匹配; 方括號 只要是其子集,都可以匹配(內容存在)

4.正規表示式元字元

* 匹配前乙個內容的0次1次或多次

. 匹配內容的0次1次或多次,但不包含回車換行(代指自己,任何內容)

+ 匹配前乙個內容的1次或多次

? 匹配前乙個內容的0次或1次

| 選擇匹配類似php中的| (因為這個運算符合是弱型別導致前面最為整體匹配,類似乙個單詞匹配)

^ 匹配字串首部內容

$ 匹配字串尾部內容

\b 匹配單詞邊界,邊界可以是空格或者特殊符合(有單詞分界符,類似空格)

\b 匹配除帶單詞邊界意外內容(無單詞分界符)

匹配前乙個內容的重複次數為m次

匹配前乙個內容的重複次數大於等於m次

匹配前乙個內容的重複次數m次到n次

( ) 合併整體匹配,並放入記憶體,可使用\\1 \\2…依次獲取 (呼叫放入記憶體中的內容)

5.運算順序

依然遵循從左到→右的運算規則

優先順序:

( ) 圓括號因為是記憶體處理所以最高

* ? + 重複匹配內容其次

^ $ \b 邊界處理第三

| 條件處理第四

最後按照運算順序計算匹配

6.模式修正符

模式修正符是為正規表示式增強和補充的乙個功能,使用在正則之外 例如:/ 正則 / u

常用修正符:

i 正則內容在匹配時候不區分大小寫(預設是區分的)

m 在匹配首內容或者尾內容時候採用多行識別匹配

s 將轉義回車取消是為單行匹配如. 匹配的時候

x 忽略正則中的空白

a 強制從頭開始匹配

d 強制$匹配尾部無任何內容 \n

u 禁止貪婪匹配 只跟蹤到最近的乙個匹配符並結束,

常用在採集程式上的正規表示式

7.匹配功能

preg_match_all 全部匹配函式

語法:preg_match_all ( string pattern, string subject, array matches [, int flags] )

說明:對結果排序使 $matches[0] 為全部模式匹配的數

用途:擷取比較詳細的內容,採集網頁,分析文字

8.替換功能

preg_replace 正則替換函式

語法:preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit] )

2、替換內容可以通過修正符e來解決替換執行內容

用途:替換一些比較複雜的內容上,也可以用於內容的轉換上

只能按照一種方式切割有侷限性。

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.更多策劃中 投稿,完善本系列,讓...