正則表達式

各式各樣的正則表達式參考大全(訪問正則表達式實例庫):
^d+$  //匹配非負整數(正整數 + 0)  
//匹配整數 ^d+(.d+)?$  //匹配非負浮點數(正浮點數 + 0)
^(([0-9]+.[0-9]1-9)|([0-9]1-9.[0-9]+)|([0-9]1-9))$  //匹配正浮點數
^((-d+(.d+)?)|(0+(.0+)?))$  //匹配非正浮點數(負浮點數 + 0)
^(-(([0-9]+.[0-9]1-9)|([0-9]1-9.[0-9]+)|([0-9]1-9)))$  //匹配負浮點數
^(-?d+)(.d+)?$  //匹配浮點數
^[A-Za-z]+$ //匹配由26個英文字母組成的字符串
^[A-Z]+$  //匹配由26個英文字母的大寫組成的字符串
^[a-z]+$  //匹配由26個英文字母的小寫組成的字符串
^[A-Za-z0-9]+$  //匹配由數字和26個英文字母組成的字符串
^w+$  //匹配由數字、26個英文字母或者下劃線組成的字符串
^[w-]+(.[w-]+)*@[w-]+(.[w-]+)+$    //匹配email地址
^[a-zA-z]+://匹配(w+(-w+))(.(w+(-w+)))(?S)?$  //匹配url
匹配中文字符的正則表達式: [u4e00-u9fa5]
匹配雙字節字符(包括漢字在內):1
匹配空行的正則表達式:n[s| ]*r
匹配HTML標記的正則表達式:/<(.)>.</>|<(.*) />/
匹配首尾空格的正則表達式:(^s)|(s$)
匹配Email地址的正則表達式:w+([-+.]w+)@w+([-.]w+).w+([-.]w+)*
匹配網址URL的正則表達式:^[a-zA-z]+://(w+(-w+))(.(w+(-w+)))(?S)?$
匹配賬號是否合法(字母開頭,容許5-16字節,容許字母數字下劃線):^a-zA-Z{4,15}$
匹配國內電話號碼:(d{3}-|d{4}-)?(d{8}|d{7})?
匹配騰訊QQ號:^[1-9]1-9$ 正則表達式

下表是元字符及其在正則表達式上下文中的行爲的一個完整列表,具體到每一個正則表達式符號:
將下一個字符標記爲一個特殊字符、或一個原義字符、或一個後向引用、或一個八進制轉義符。
^ 匹配輸入字符串的開始位置。若是設置了 RegExp 對象的Multiline 屬性,^ 也匹配 ’n’ 或 ’r’ 以後的位置。
$ 匹配輸入字符串的結束位置。若是設置了 RegExp 對象的Multiline 屬性,$ 也匹配 ’n’ 或 ’r’ 以前的位置。框架

  • 匹配前面的子表達式零次或屢次。
  • 匹配前面的子表達式一次或屢次。+ 等價於 {1,}。

? 匹配前面的子表達式零次或一次。? 等價於 {0,1}。
{n} n 是一個非負整數,匹配肯定的n 次。
{n,} n 是一個非負整數,至少匹配n 次。
{n,m} m 和 n 均爲非負整數,其中n <= m。最少匹配 n 次且最多匹配 m 次。在逗號和兩個數之間不能有空格。
? 當該字符緊跟在任何一個其餘限制符 (*, +, ?, {n}, {n,}, {n,m}) 後面時,匹配模式是非貪婪的。非貪婪模式儘量少的匹配所搜索的字符串,而默認的貪婪模式則儘量多的匹配所搜索的字符串。
. 匹配除 "n" 以外的任何單個字符。要匹配包括 ’n’ 在內的任何字符,請使用象 ’[.n]’ 的模式。
(pattern) 匹配pattern 並獲取這一匹配。 (?:pattern) 匹配pattern 但不獲取匹配結果,也就是說這是一個非獲取匹配,不進行存儲供之後使用。 (?=pattern) 正向預查,在任何匹配 pattern 的字符串開始處匹配查找字符串。這是一個非獲取匹配,也就是說,該匹配不須要獲取供之後使用。 (?!pattern) 負向預查,與(?=pattern)做用相反 x|y 匹配 x 或 y。
[xyz] 字符集合。
2 負值字符集合。
[a-z] 字符範圍,匹配指定範圍內的任意字符。
3 負值字符範圍,匹配任何不在指定範圍內的任意字符。
b 匹配一個單詞邊界,也就是指單詞和空格間的位置。
B 匹配非單詞邊界。
cx 匹配由x指明的控制字符。
d 匹配一個數字字符。等價於 [0-9]。
D 匹配一個非數字字符。等價於 4
f 匹配一個換頁符。等價於 x0c 和 cL。
n 匹配一個換行符。等價於 x0a 和 cJ。
r 匹配一個回車符。等價於 x0d 和 cM。
s 匹配任何空白字符,包括空格、製表符、換頁符等等。等價於[ fnrtv]。
S 匹配任何非空白字符。等價於 5
t 匹配一個製表符。等價於 x09 和 cI。
v 匹配一個垂直製表符。等價於 x0b 和 cK。
w 匹配包括下劃線的任何單詞字符。等價於’[A-Za-z0-9_]’。
W 匹配任何非單詞字符。等價於 ’6’。
xn 匹配 n,其中 n 爲十六進制轉義值。十六進制轉義值必須爲肯定的兩個數字長。
num 匹配 num,其中num是一個正整數。對所獲取的匹配的引用。
n 標識一個八進制轉義值或一個後向引用。若是 n 以前至少 n 個獲取的子表達式,則 n 爲後向引用。不然,若是 n 爲八進制數字 (0-7),則 n 爲一個八進制轉義值。
nm 標識一個八進制轉義值或一個後向引用。若是 nm 以前至少有is preceded by at least nm 個獲取得子表達式,則 nm 爲後向引用。若是 nm 以前至少有 n 個獲取,則 n 爲一個後跟文字 m 的後向引用。若是前面的條件都不知足,若 n 和 m 均爲八進制數字 (0-7),則 nm 將匹配八進制轉義值 nm。 nml 若是 n 爲八進制數字 (0-3),且 m 和 l 均爲八進制數字 (0-7),則匹配八.url

2、validate框架中的正則表達式校驗規則
經過一個常規的 Jakarta RegExp 表達式檢查字段值。要了解更多關於 RegExp 的信息,請參見 Jakarta RegExp 頁。
.匹配全部的字符 空格 Tab鍵
[] 匹配包含在其中的單個字符A[cde]M匹配AcM AdM AeM
() 匹配一組表達式,該表達式能夠有其它特殊的字符組成 t([aop]a)p匹配 taap toap tpap
| 或的表達式 t(a|o|pk)p 匹配tap top tpkp
$匹配輸入字符串的結束位置 a$
~連字符表示一個範圍0~9 [0~9]{5}和[0-9]{5}不一樣
匹配0次或屢次,只對前鄰近的字母和一組表達式起做用,ab匹配:a ab abb
+匹配1次或屢次,只對前鄰近的字母和一組表達式起做用, ab+匹配:ab abb abbb
?匹配0次或1次 ab?匹配:a ab
{n}匹配指定的次數,n是一個數字,只對前臨近的字符和一組表達式起做用ab{2}c匹配:abbc但不匹配abc
{n,m}匹配指定的次數,從n次到m次,只對前臨近的字符和一組表達式起做用
^表示匹配所輸入字符串的開始位置;也表示否的表達式,表示不想被匹配的字符,通常和[]一塊兒使用,a7d匹配:add aed等但不匹配abd acd
d等價於[0-9]的功能,匹配單個數字
D等價與4的功能,不匹配單個數字
w等價於[A-Z a-z _ 0-9], 匹配單個數字和英文字母還包含下劃線
W等價於8,不匹配單個數字和英文字母及下劃線 ~與-不一樣
s匹配一個空格
表示轉義符
例如:
^[a-zA-Z]*$ 表示該值必須只包含字母
^d{6}d*$ 表示該值必須是五位數字
^w+$ 表示該值必須是字母和數字
^Aw+M$ 表示開始位置的字符必須是A,結束位置的字符必須爲M對象

^(?(d{3}))?[-| ]?(d{3})[-| ]?(d{4})$ 表示什麼意思字符串


  1. x00-xff
  2. xyz
  3. a-z
  4. 0-9
  5. fnrtv
  6. A-Za-z0-9_
  7. b^c
  8. A-Z0-9
相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息