工作中常用的正規表示式總結

2021-07-30 15:32:24 字數 2252 閱讀 7775

在遇到需要用正則校驗資料時,往往是在網上去找很久,結果找來的還是不很符合要求。所以我最近把開發中常用的一些

正規表示式

整理了一下,在這裡分享一下。就當作筆記

1.基礎

\d 匹配乙個數字字元。等價於[0-9]。grep 要加上-p,perl正則支援 

\d 匹配乙個非數字字元。等價於[^0-9]。grep要加上-p,perl正則支援 

\f 匹配乙個換頁符。等價於\x0c和\cl。 

\n 匹配乙個換行符。等價於\x0a和\cj。 

\r 匹配乙個回車符。等價於\x0d和\cm。 

\s 匹配任何不可見字元,包括空格、製表符、換頁符等等。等價於[ \f\n\r\t\v]。 

\s 匹配任何可見字元。等價於[^ \f\n\r\t\v]。 

\t 匹配乙個製表符。等價於\x09和\ci。 

\v 匹配乙個垂直製表符。等價於\x0b和\ck。 

\w 匹配包括下劃線的任何單詞字元。類似但不等價於「[a-za-z0-9_]」,這裡的」單詞」字元使用unicode字符集。 

\w 匹配任何非單詞字元。等價於「[^a-za-z0-9_]」。 

\xn 匹配n,其中n為十六進製制轉義值。十六進製制轉義值必須為確定的兩個數字長。例如,「\x41」匹配「a」。「\x041」則等價於「\x04&1」。正規表示式中可以使用ascii編碼。 

\num 匹配num,其中num是乙個正整數。對所獲取的匹配的引用。例如,「(.)\1」匹配兩個連續的相同字元。 

\n 標識乙個八進位制轉義值或乙個向後引用。如果\n之前至少n個獲取的子表示式,則n為向後引用。否則,如果n為八進位制數字(0-7),則n為乙個八進位制轉義值。 

\nm 標識乙個八進位制轉義值或乙個向後引用。如果\nm之前至少有nm個獲得子表示式,則nm為向後引用。如果\nm之前至少有n個獲取,則n為乙個後跟文字m的向後引用。如果前面的條件都不滿足,若n和m均為八進位制數字(0-7),則\nm將匹配八進位制轉義值nm。 

\nml 如果n為八進位制數字(0-7),且m和l均為八進位制數字(0-7),則匹配八進位制轉義值nml。 

2.常用

^[0-9]*$

數字 ^\d$

m-n位的數字 

^[0-9]+(.[0-9])?$

有兩位小數的正實數 

^(-?\d+)(\.\d+)?$ 或 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$

浮點數 

^(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$

手機號碼 

/^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.)[a-z0-9]+$/

email位址 

[a-za-z0-9][-a-za-z0-9](/.[a-za-z0-9][-a-za-z0-9])+/.?

網域名稱 [a-za-z]+://[^\s]* 或 ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$

url 

^\d|\d$

身份證號(15位、18位數字) 

^\d-\d-\d

日期格式 

[\u4e00-\u9fa5]

中文字元的正規表示式 

^[ァ-ヶー]$

日語的正規表示式

/x3130-/x318f

(韓文 

/xac00-/xd7a3

(韓文) 

[1-9][0-9]

[1-9]\d(?!\d)

^(d|1dd|2[0-4]d|25[0-5]).(d|1dd|2[0-4]d|25[0-5]).(d|1dd|2[0-4]d|25[0-5]).(d|1dd|2[0-4]d|25[0-5])$

ip位址 

^([a-za-z]+-?)+[a-za-z0-9]+\\.[x|x][m|m][l|l]$

xml檔案 

^((0-9)+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$

正浮點數

工作中常用的正規表示式

1 手機號 第一位是開頭,第二位則則有 3,4,5,7,8 第三位則是 0 9 第三位之後則是數字 0 9 從而我們可以得出乙個符合當前的手機號碼驗證正規表示式。var reg 1 3 4 5 7 8 0 9 驗證規則 var phonenum 15507621999 手機號碼 var flag r...

業務中常用的正規表示式總結

網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 4 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x...

python中常用正規表示式

print re.findall d 123abc 數字 1 2 3 print re.findall d abcaa123abc 非數字 a b c a a a b c print re.findall abc 123abcaaabc abc abc print re.findall aa nab...