正則表達(dá)式語法
轉(zhuǎn)義符? 說明?
一般字符
?除 .$ ^ { [ ( | ) * + ? \ 外,其他字符與自身匹配。
?
字符 含意
\ 做為轉(zhuǎn)意,即通常在"\"后面的字符不按原來意義解釋,如/b/匹配字符"b",當(dāng)b前面加了反斜桿后/\b/,轉(zhuǎn)意為匹配一個單詞的邊界。 -或- 對正則表達(dá)式功能字符的還原,如"*"匹配它前面元字符0次或多次,/a*/將匹配a,aa,aaa,加了"\"后,/a\*/將只匹配"a*"。
?
^ 匹配一個輸入或一行的開頭,/^a/匹配"an A",而不匹配"An a"
$ 匹配一個輸入或一行的結(jié)尾,/a$/匹配"An a",而不匹配"an A"
* 匹配前面元字符0次或多次(任意多次),/a*/? 將匹配零或多個 a,/ba*/將匹配b,ba,baa,baaa
+ 匹配前面元字符1次或多次,/a+/? 將匹配一或多個 a ,/ba*/將匹配ba,baa,baaa
? 匹配前面元字符0次或1次,/ba*/將匹配b,ba
(x) 匹配x保存x在名為$1...$9的變量中
x|y 匹配x或y
{n} 精確匹配n次
{n,} 匹配n次以上
{n,m} 匹配n-m次
[xyz] 字符集(character set),匹配這個集合中的任一一個字符(或元字符)
[^xyz] 不匹配這個集合中的任何一個字符
[\b] 匹配一個退格符
\b 匹配一個單詞的邊界
\B 匹配一個單詞的非邊界
\cX 這兒,X是一個控制符,/\cM/匹配Ctrl-M
\d 匹配一個數(shù)字字符,等價于 [0-9]
\D 匹配一個非數(shù)字字符,等價于 [^0-9]
\n 匹配一個換行符
\r 匹配一個回車符
\s 匹配一個空白字符,包括\n,\r,\f,\t,\v等
\S 匹配一個非空白字符,等價于 [^\n\f\r\t\v]
\t 匹配一個制表符
\v 匹配一個重直制表符
\w 數(shù)字、字母、下劃線,等價于[a-zA-Z0-9_]
\W 非 \w ,等價于[^a-zA-Z0-9_]
驗(yàn)證數(shù)字的正則表達(dá)式集
驗(yàn)證數(shù)字:^[0-9]*$
驗(yàn)證n位的數(shù)字:^\d{n}$
驗(yàn)證至少n位數(shù)字:^\d{n,}$
驗(yàn)證m-n位的數(shù)字:^\d{m,n}$
驗(yàn)證零和非零開頭的數(shù)字:^(0|[1-9][0-9]*)$
驗(yàn)證有兩位小數(shù)的正實(shí)數(shù):^[0-9]+(.[0-9]{2})?$
驗(yàn)證有1-3位小數(shù)的正實(shí)數(shù):^[0-9]+(.[0-9]{1,3})?$
驗(yàn)證非零的正整數(shù):^\+?[1-9][0-9]*$
驗(yàn)證非零的負(fù)整數(shù):^\-[1-9][0-9]*$
驗(yàn)證非負(fù)整數(shù)(正整數(shù) + 0)? ^\d+$
驗(yàn)證非正整數(shù)(負(fù)整數(shù) + 0)? ^((-\d+)|(0+))$
驗(yàn)證長度為3的字符:^.{3}$
驗(yàn)證由26個英文字母組成的字符串:^[A-Za-z]+$
驗(yàn)證由26個大寫英文字母組成的字符串:^[A-Z]+$
驗(yàn)證由26個小寫英文字母組成的字符串:^[a-z]+$
驗(yàn)證由數(shù)字和26個英文字母組成的字符串:^[A-Za-z0-9]+$
驗(yàn)證由數(shù)字、26個英文字母或者下劃線組成的字符串:^\w+$
驗(yàn)證用戶密碼:^[a-zA-Z]\w{5,17}$ 正確格式為:以字母開頭,長度在6-18之間,只能包含字符、數(shù)字和下劃線。
驗(yàn)證是否含有 ^%&',;=?$\" 等字符:[^%&',;=?$\x22]+
驗(yàn)證漢字:^[\u4e00-\u9fa5],{0,}$
驗(yàn)證Email地址:^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
驗(yàn)證InternetURL:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ ;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$
驗(yàn)證電話號碼:^(\(\d{3,4}\)|\d{3,4}-)?\d{7,8}$:--正確格式為:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。
驗(yàn)證身份證號(15位或18位數(shù)字):^\d{15}|\d{}18$
驗(yàn)證一年的12個月:^(0?[1-9]|1[0-2])$ 正確格式為:“01”-“09”和“1”“12”
驗(yàn)證一個月的31天:^((0?[1-9])|((1|2)[0-9])|30|31)$??? 正確格式為:01、09和1、31。
整數(shù):^-?\d+$
非負(fù)浮點(diǎn)數(shù)(正浮點(diǎn)數(shù) + 0):^\d+(\.\d+)?$
正浮點(diǎn)數(shù)?? ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
非正浮點(diǎn)數(shù)(負(fù)浮點(diǎn)數(shù) + 0) ^((-\d+(\.\d+)?)|(0+(\.0+)?))$
負(fù)浮點(diǎn)數(shù)? ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
浮點(diǎn)數(shù)? ^(-?\d+)(\.\d+)?