正則運算式
正則運算式,又稱規則運算式(英語:Regular Expression,在代碼中常簡寫為regex、regexp或RE),正則運算式是對字串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個“規則字串”,這個“規則字串”用來表達對字串的一種過濾邏輯,通常被用來檢索、替換那些符合某個模式(規則)的文本,
1、正則運算式構造摘要
(1)字符類
[abc]:a、b 或 c(簡單類)
[^abc]:任何字符,除了 a、b 或 c(否定)
[a-zA-Z]:a 到 z 或 A 到 Z,兩頭的字母包括在內(范圍)
(2)預定義字符類
.:任何字符(與行結束符可能匹配也可能不匹配)
\d:數字:[0-9]
\D:非數字: [^0-9]
\s:空白字符:[ \t\n\x0B\f\r]
\S:非空白字符:[^\s]
\w:單詞字符:[a-zA-Z_0-9]
\W:非單詞字符:[^\w]
(3)POSIX 字符類(僅 US-ASCII)
\p{Lower}小寫字母字符:[a-z]
\p{Upper}大寫字母字符:[A-Z]
\p{ASCII}所有 ASCII:[\x00-\x7F]
\p{Alpha}字母字符:[\p{Lower}\p{Upper}]
\p{Digit} 十進制數字:[0-9]
\p{Alnum}字母數字字符:[\p{Alpha}\p{Digit}]
\p{Punct} 標點符號:!"#$%&'()*+,-./:;<=>?@[]^_`{|}~
\p{Blank} 空格或制表符:[ \t]
(4)邊界匹配器
^:行的開頭
$:行的結尾
(5)Greedy 數量詞
X?:X,一次或一次也沒有
X*:X,零次或多次
X+:X,一次或多次
X{n}:X,恰好 n 次
X{n,}:X,至少 n 次
X{n,m}:X,至少 n 次,但是不超過 m 次
(6)Logical 運算子
XY:X 后跟 Y
X|Y:X 或 Y
(X):X,作為捕獲組
(7)特殊構造(非捕獲)
(?:X) X,作為非捕獲組
(?=X) X,通過零寬度的正 lookahead
(?!X) X,通過零寬度的負 lookahead
(?<=X) X,通過零寬度的正 lookbehind
(?<!X) X,通過零寬度的負 lookbehind
(?>X) X,作為獨立的非捕獲組
2、常見的正則運算式示例
-
驗證用戶名和密碼,要求第一個字必須為字母,一共6~16位字母數字下劃線組成:(^[a-zA-Z]\w{5,15}$)
-
驗證電話號碼:xxx/xxxx-xxxxxxx/xxxxxxxx:(^(\d{3,4}-)\d{7,8}$)
-
驗證手機號碼:( ^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$ )
-
驗證身份證號: (^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)
-
驗證Email地址:(^\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)*$)
-
只能輸入由數字和26個英文字母組成的字串:(^[A-Za-z0-9]+$)
-
整數或者小數:(^[0-9]+(.[0-9]+){0,1}$)
-
中文字符的正則運算式:([\u4e00-\u9fa5])
-
金額校驗(非零開頭的最多帶兩位小數的數字):(^([1-9][0-9]*)+(.[0-9]{1,2})?$)
-
IPV4地址:(((\d{1,2})|(1\d{1,2})|(2[0-4]\d)|(25[0-5]))\.){3}((\d{1,2})|(1\d{1,2})|(2[0-4]\d)|(25[0-5]))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/498509.html
標籤:其他
上一篇:將for回圈縮短為一個
