正規表示式
正則用來查詢指定的字串、匹配、替換指定的字串
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。可以在括號中使用連字元 來指定字元的區間來簡化表示,例...