PHP學習07 正規表示式

2021-07-11 13:45:22 字數 2772 閱讀 6361

正規表示式組成部分:元字元和文字字元

元字元:具有特殊含義的字元

文字字元:普通文字

php使用prce風格的正規表示式。內容一般放在定界符"/"中間。

1.行定位符:^和$

行定位符就是用來描述子串的邊界。^表示行的開始,$表示行的結束。

2.單詞定界符:\b和\b

需要匹配單詞,而非單詞一部分。\b表示匹配乙個完整的單詞。\b表示匹配的不能是乙個完整的單詞。

3.字元類:

忽略大小寫[aa],乙個方括號只能匹配乙個字元。

posix風格的預定義字元類:

[:digit:]:十進位制數字集合,等於[0-9]

[[:alnum:]]:字母和數字的集合,等於[a-za-z0-9]

[[:alpha:]]:字母集合,等同於[a-za-z]

[[:blank:]]:空格和製表符

[[:xdiget:]]:十六進製制數字

[[:punct:]]:特使字元集合,包括鍵盤上所有特殊字元,如!@#$%等

[[:print:]]:所有可列印字元,包括空白

[[:space:]]:空白字元(空格,換行符,換頁符,回車符,水平製表符)

[[:graph:]]:所有可列印字元,不包括空白字元

[[:upper:]]:所有大寫字母[a-z]

[[:lower:]]:所有小寫字母[a-z]

[[:cntrl:]]:控制字元

pcre的預定義字元使用反斜線表示

4.選擇字元:|

和不同的是,|可以匹配任意漲肚的字串

5.連字元:-

表示範圍,如[a-z]

6.排除字元:[^]

功能類似於非,[^a-z]表示不能以小寫字母開頭

7.限定符:? * +

?:匹配前面的字元零次或一次

+:匹配前面的字元一次或多次

*:匹配前面的字元零次或多次

:匹配前面的字元n次

:匹配前面的字元最少n次

:匹配前面的字元最少n次,最多m次

8.點號字元:.

匹配換行符外的任意字元

9.轉義字元:\

將特殊字元轉變為普通字元

顯示不可列印的字元

\a:警報,即ascii的(0x07>

\b:退格,0x08(php中只有在裡才表示退格)

\e:escape,即esc,0x1b

\f:換頁符,即,0x0c

\n:換行符,即,0x0a

\r:回車符,即,0x0d

\t:水平製表符,即,0x09

\xhh:十六進製制**

\ddd:八進位制**

\cx:control+x的縮寫,匹配由x指明的控制字元,x是任意字元

還可以指定預定義字符集:

\d:任意乙個十進位制數,相當於[0-9]

\d:任意乙個非十進位制數字

\s:任意乙個空白字元(空格,換行符,換頁符,回車符,水平製表符)

\s:任意乙個非空白字元

\w:任意乙個單詞字元,相當於[0-9a-za-z]

\w:任意乙個非單詞字元

定義斷言:

\b:單詞定界符,用來匹配字串中的某些位置,\b是以統一的定界符來匹配

\b:非單詞定界符序列

\a:總是能夠匹配待搜尋的文字的起始位置

\z:表示未指定任何模式下匹配的字元,通常是字串的末尾位置,或者是在字串末尾的換行符之前的位置

\z:只匹配字串的末尾,而不考慮任何換行符

\g:當前匹配的起始位置

10.反向引用

依靠子表示式的記憶功能來匹配連續出現的字串或字母。如匹配連續兩個it,先將it作為分組,再在後面加上「\l」即可。

(it)\1

用\1,\2表示每個分組(順序從左到右)。([a-z])([a-z])\1\2

也可以指定分組名稱(?p···),引用方法 (?p=subname)

11.模式修飾符

模式修飾符的作用是設定模式,規定正規表示式該如何解釋和應用。

php中的主要模式修飾符如下:

i:表示式寫法(?i)···(?-i)、(?i:···),忽略大小寫模式

m:表示式寫法(?m)···(?-m)、(?m:···),多文字格式,即字串內有多個換行符時,影響^和$的匹配

s:表示式寫法(?s···(?-s)、(?s:···),單文字模式,此時.可以匹配換行符,其他模式不行

x:表示式寫法(?x)···(?-x)、(?x:···),忽略空白字元

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