PHP 正規表示式隨筆

2021-07-26 18:28:32 字數 1994 閱讀 1806

正規表示式

正則用來查詢指定的字串、匹配、替換指定的字串

1、什麼是正規表示式

正規表示式是一組描述字串特徵的模式,用於匹配一組字串。

這種模式本身也是字串只不過有一些規則和語法。

2、正規表示式用來解決字串的搜尋、替換、分隔

3、在php中學習正規表示式學習什麼?

正規表示式的寫法。

正規表示式的處理函式。

我們講也是著重講解正規表示式的寫法。

他們之間的關係:寫正規表示式用正規表示式的處理函式來進行處理。

注意:正規表示式如果沒有正則的處理函式他就是普通字串。

4、正規表示式由什麼組成,應該怎麼寫。

組成:1、定界符,告訴正規表示式從**開始到**結束,一般來說 /正規表示式的具體內容 /

注意:定界符一般為//,但是可以除了數字、字母、反斜線不可以作為定界符外,其他的都可以。

2、原子,最小的匹配單位,要找的字元,放在定界符中,每乙個正規表示式最少有乙個原子,因為最少要匹配一次,乙個原子匹配一次

a)、普通的字元 0-9 a-z a-z 多個字元就代表匹配多個。

b)、非列印字元

\r 回車

\n 換行

\t 製表符

c)、自定義原子表作為原子

[a-za-z0-9_]

[a-c]

d)、使用通用字元作為原子

\d 任意乙個數字  0-9

\d 非數字

\w 任意乙個字元 a-z a-z 0-9 _

\w 任意乙個非字

\s 空白  \t \r \n

\s 非空白

e)、轉義後的元字元作為原子。

除了a-z a-z 0-9 這些原子外其他的符號都加上\讓他失去原來的意義。

3、元字元,修飾原子的功能和限定原子的功能(放在定界符中)

原子表  用來指定乙個範圍。

^ 在原子表中的第乙個位置出現表示排除。

* 代表前面的原子可以出現0次1次或多次。必須放在原子或原子表的後面。

+ 代表前面的原子可以出現1次或多次。

? 代表前面的原子可以出現0次或1次

,代表前面的原子只能出現n次。

代表前面的原子最少出現n次最多出現的次數不限。

代表前面的原子最少出現n次最多出現m次

| 代表或的關係。 兩邊的原子只要有乙個出現就可以。優先順序是最低的。

. 代表任意乙個字元

()的作用:

1、提高優先順序

2、用來生成子模式。整個正則是乙個大的模式,小括號就是大模式中的子模式

3、反向引用。

4、將乙個小的原子變成乙個大原子(mysql)+

mysql+   mysqlllll mysql mysqll

^ 寫在正規表示式的最前面表示以x開始。必須寫在正規表示式的最前面。

$ 表示以x結尾,必須寫在正規表示式的最後面。

4、模式修正符

對正則進行修正用的單個符號(寫在定界符的外面,寫在最右邊)

注意:乙個符號代表乙個功能,可以組合使用。

i:讓正規表示式不區分大小寫。正規表示式預設是區分大小寫的

m:將匹配的字串中的每個斷行都當作新的一行來處理(預設的時候當作一行來處理的)

s:.預設的情況下不能匹配\r\n,加上s之後就能夠匹配\r\n了。

x:修正正規表示式可以省略空白。

u:取消貪婪,在使用(.*)正規表示式比較貪婪,會匹配最後乙個符合要求的內容。u可以讓他們匹配第乙個符合要求的內容。

但是不建議使用u,因為u正規表示式的修正符在php裡面有但是在其他語言裡面沒有,我們使用(.*?)來取消貪婪。

正規表示式就是普通的字串使用單引號或雙引號包含起來。

寫正規表示式的技巧:

1、正規表示式也是一種語言。

2、把你要匹配的正規表示式的各種情況,規則的樣本都列出來。然後再寫。

3、正規表示式匹配的越複雜,那麼正規表示式寫的越複雜。

4、能用字串函式解決的就用字串函式解決,不要用正規表示式。

php正規表示式隨筆

本文章僅為督促本人學習 行定位符 tm匹配開頭為tm的字串 tm 匹配結尾為tm的字串 字元類 乙個只能匹配乙個字元 tt mm 匹配不區分大小寫的tm posix風格的預定義字元類 digit 0 9 alnum a za z0 9 alpha a za z blank 空格和製表符 xdigit...

正規表示式隨筆

所謂正規表示式其實就是用一串模版字串去匹配目標字串。1.新增引用using system.text.regularexpressions 如下 textbox txt new textbox txt.textchanged sender,e if regex.ismatch txt.text,150...

正規表示式隨筆

匹配任何單個字元。例如正規表示式 b.g 能匹配如下字串 big bug b g 但是不匹配 buug b.g 可以匹配 buug 匹配括號中的任何乙個字元。例如正規表示式 b aui g 匹配bug big和bag,但是不匹配beg baug。可以在括號中使用連字元 來指定字元的區間來簡化表示,例...