自整理正規表示式用法

2022-02-02 20:48:14 字數 1672 閱讀 2904

下面的統稱為元字元

. 匹配除\n(換行)之外的任意的單個字元

a.b可以是axb , a8b ...

字元組,匹配中括號中的任意單個字元

a[aeoujf]b 表示,a和b直接之間的單個字元只能是aeoujf中的任意乙個字元

a[0123456789]b 之前優化之後 a[0-9]b a和b之間0-9的任意單個字元

a[a-za-z]b a和b之間出現a-z之間(不區分大小寫)的任意單個字元

a[a-za-z0-9

]b 不言而喻...

a[axz.]b 當.出現在中括號中就失去了萬用字元的意義,這時就表示乙個普通的點

|表示或的意思,優先順序非常低,最後才計算它

a(x|y)b 表示a和b之間不是x就是y,()表示優先順序

z|food z或者是food

(z|f)ood zood或者是food,

()含義:

1.改變優先順序;2

.提取組(分組)

表示前面的表示式必須出現n次

表示前面的表示式至少出現n次,最多無限次

表示至少出現n次,最多出現m次(n-m次)

a[a-z]b 表示a和b之間匹配3次a-z

-----------限定符-----------

* 表示(前單個字元或者單個表示式)出現0次或多次

+ 表示(前單個字元或者單個表示式)出現1次或更多次

? 表示(前單個字元或者單個表示式)出現0次或1次 ?的另外乙個意思是:終止貪婪模式

colou?r 表示u出現或不出現

(colou)?r 表示colou出現或不出現

--------^與$--------

^ 表示字串的開始(叫法shirt6) 還表示非!

^hello 表示字串必須是以hello開頭,或者說必須是以h開頭,後面是ello

a[^0-9a-za-z(&]b 表示a和b之間除了0-9,a-z,a-z,(,&都行

$ 表示字串的結束

a$ 表示字串的結束必須是a

-------簡寫表示式--\d 表示[

0-9] 全形的數字(不是正常的0-9)a[

0-9]b

a\db \d 表示0-9

\d 表示[^0-9

]\s 表示所有空白符 全形的空格

\s 表示^\s

\w 表示[a-za-z0-9_] 也匹配所有的漢字由於.net預設才用uniconde方式來匹配,所以\w也可以匹配所有漢字

\w 表示[^a-za-z0-9_]

\b 表示單詞的邊界(單詞兩邊沒有字元,和所有\w) 字元類中,\b表示退格符.在替換模式中,\b始終表示退格符

hello,welcome to our conutry.thanks

[\s\s]任意字元

[\w\w]任意字元

對於元字元、限定符等,如果要匹配字元本身都需轉義(在最前面加乙個\就ok)

\* \+ \. \[ \- \ \\d 等

忽略所有的元字元,類似與c#中的@符號

string s = regex.escape(@"\d"

);身份證號碼(15或18)兩種都可以,但是明顯第二種好:

^([1-9][0-9]|[1-9][0-9][0-9xx])$

^[1-9][0-9]([0-9][0-9xx])?$

正規表示式整理

常見正規表示式驗證 d 整數 d 正整數 d 負整數 a za z0 9 數字和字元 不包含標點 u4e00 u9fa5 中文 0 9 0 9 浮點數 a za z0 9 a za z0 9 a za z0 9 郵箱位址 1 9 0 9 0 9 0 9xx 簡單判斷15位或18位身份證 1 9 0 ...

整理正規表示式

控制開頭 控制結尾 轉義序列 n新行 r回車 t製表符 a z 匹配所有的小寫字母 a z 匹配所有的大寫字母 a za z 匹配所有的字母 0 9 匹配所有的數字 0 9 匹配所有的數字,句號和減號 f r t n 匹配所有的白字元 前面曾經提到 表示字串的開頭,但它還有另外乙個含義。當在一組方括...

正規表示式整理

d 匹配乙個數字,data w 匹配乙個數字或乙個單詞,word s 匹配乙個空格 包含tab space w 匹配所有非單詞和下劃線 句點.匹配除新行符 r n 序列外的任何單個字元,表示任意個,表示至少乙個,表示0個或乙個,表示n個,表示m n個。句點星號模式 是匹配範圍最廣的模式之一,因為它可...