shell常用正規表示式
「^d+$」 //非負整數(正整數+ 0)
「^[0-9]*[1-9][0-9]*$」 //正整數
「^((-d+)|(0+))$」 //非正整數(負整數+ 0)
「^-[0-9]*[1-9][0-9]*$ ” //負整數
「^-?d+$」 //整數
「^d+(.d+)?$」 //非負浮點數(正浮點數+ 0)
「^(([0-9] +.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([ 0-9]*[1-9][0-9]*))$” //正浮點數
「^((-d+(.d+)?)|(0+(.0+)?)) $” //非正浮點數(負浮點數+ 0)
「^(-(([0-9]+.[0-9]*[1-9][0-9]*)|([ 0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-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
/^(d{2}|d{4})-((0([1-9]{1}) )|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/ // 年-月-日
/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0 |1]))/(d{2}|d{4})$/ // 月/日/年
「^([w-.]+)@(([[0-9]{1,3 }.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4 }|[0-9]{1,3})(]?)$” //Emil
/^((+?[0-9]{2,4}-[0-9]{3,4} -)|([0-9]{3,4}-))?([0-9]{7,8})(-[0-9]+)?$/ //電話號碼
「^( d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]) .(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5 ])$” //IP位址
符合中文字元的正規表示式:[u4e00-u9fa5]
符合雙位元組字元(包括漢字在內):[^x00-xff]
配對空行的正字節式:n[s| ]*r
符合HTML標記的正規表示式:/.*1>|/
符合首尾空格的正規表示式:( ^s*)|(s*$)
符合Email位址的正規表示式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
符合網址URL的正規表示式:^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S *)?$
符合帳號是否合法(字母開頭,允許5-16字節,允許字母數字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
匹配國內電話號碼:(d{3}-|d{4}-)?(d{8}|d{7})?
匹配騰訊QQ號:^[1-9]*[1-9][ 0-9]*$
元字元及其在正規表示式情境中的行為:
將下一個字元標記為一個特殊字元、或一個原義字元、或一個後向引用、或一個八進位轉義符。
^ 符合輸入字串的起始位置。如果設定了 RegExp 物件的Multiline 屬性,^ 也符合 'n' 或 'r' 之後的位置。
$ 符合輸入字串的結束位置。如果設定了 RegExp 物件的Multiline 屬性,$ 也符合 'n' 或 'r' 之前的位置。
* 將前面的子運算式配對零次或多次。
+ 將前面的子表達式配對一次或多次。 + 等價於 {1,}。
? 將前面的子運算式配對零次或一次。 ? 等價於 {0,1}。
{n} n 是一個非負整數,配對確定的n 次。
{n,} n 為非負整數,至少符合n 次。
{n,m} m 和 n 均為非負整數,其中n
? 當該字元緊接在任何其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 後面時,匹配模式是非貪婪的。非貪婪模式盡可能少的匹配所搜尋的字串,而預設的貪婪模式則盡可能多的匹配所搜尋的字串。
. 符合「n」 以外的任何單一字元。若要符合包括 'n' 在內的任何字符,請使用象 '[.n]' 的模式。
(pattern) 符合pattern 並取得此配對。
(?:pattern) 匹配pattern 但不獲取配對結果,也就是說這是一個非獲取匹配,不進行儲存以供以後使用。
(?=pattern) 正向預查,在任何符合 pattern 的字串開始處符合尋找字串。這是一個非獲取匹配,也就是說,該匹配不需要獲取供以後使用。
(?!pattern) 負向預查,與(?=pattern)作用相反
x|y 配對 x 或 y。
[xyz] 字元集合。
[^xyz] 負值字元集合。
[a-z] 字元範圍,符合指定範圍內的任意字元。
[^a-z] 負值字元範圍,符合任何不在指定範圍內的任意字元。
b 配對一個單字邊界,也就是指單字和空格之間的位置。
B 配對非單字邊界。
cx 符合x指明的控製字元。
d 符合一個數字字元。等價於 [0-9]。
D 符合一個非數字字元。等價於 [^0-9]。
f 配對一個換頁符號。等價於 x0c 和 cL。
n 配對一個換行符。等價於 x0a 和 cJ。
r 配對一個回車符。等價於 x0d 和 cM。
s 符合任何空白字符,包括空格、製表符、換頁符等等。等價於[ fnrtv]。
S 符合任何非空白字元。等價於 [^ fnrtv]。
t 配對一個製表符。等價於 x09 和 cI。
v 符合垂直製表符。等價於 x0b 和 cK。
w 符合包含底線的任何單字字元。等價於'[A-Za-z0-9_]'。
W 符合任何非單字字元。等價於 '[^A-Za-z0-9_]'。
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),則符合八進位轉義值 nml。
un 符合 n,其中 n 是一個以四個十六進位數字表示的Unicode字元。
符合中文字元的正規表示式: [u4e00-u9fa5]
符合雙位元組字元(包括漢字在內):[^x00-xff]
語]*r
符合HTML標記的正規表示式:/.*1>|/
符合首尾空格的正規表示式:(^s *)|(s*$)
符合Email位址的正規表示式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
符合網址URL的正規表示式:http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?
用正規表示式限制只能輸入全角字元: onkeyup=” value=value.replace(/[^uFF00-uFFFF]/g,”)” onbeforepaste=”clipboardData.setData('text',clipboardData.getData('text').replace(/[^uFF00-uFFFF]/g ,”))”
用正規表示式限制只能輸入數字:onkeyup=”value=value.replace(/[^d]/g,”) “onbeforepaste=”clipboardData.setData('text',clipboardData .getData('text').replace(/[^d]/g,”))”
用正規表示式限制只能輸入數字和英文:onkeyup=”value=value.replace(/[W] /g,”) “onbeforepaste=”clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,”))”
常用正規表示式
符合中文字元的正規表示式:[u4e00-u9fa5]
符合雙位元組字元(包括漢字在內):[^x00-xff] s| ]*r
符合HTML標記的正規表示式:/.*1>|/
符合首尾空格的正規表示式:( ^s*)|(s*$)
符合IP位址的正規表示式:/(d+).(d+).(d+).(d+)/g //
符合Email位址的正規表示式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
符合網址URL的正規表示式:http://(/[ w-]+.)+[w-]+(/[w- ./?%&=]*)?
sql語句:^(select|drop|delete|create|update|insert). *$
1、非負整數:^d+$
2、正整數:^[0-9]*[1-9][0-9]*$
^
(-d+)|(0+))$
4、負整數:^-[0-9]*[1-9][0-9]*$
5、整數:^-?d+ $
6、非負浮點數:^d+(.d+)?$
7、正浮點數:^((0-9)+.[0-9]*[1-9][0 -9]*)|([0-9]*[1-9][0-9]*.[0-9]+)| ([0-9]*[1-9][0-9] *))$
8、非正浮點數:^((-d+.d+)?)|(0+(.0+)?))$
9、負浮點數:^(-(
9、負浮點數:^(-(-(-(-(-) (正浮點數正規式)))$
10、英文字串:^[A-Za-z]+$
11、英文大寫串:^[A-Z]+$
11、英文大寫字串:^[A-Z]+$
小寫串:^[a-z]+$
13、英文字元數字串:^[A-Za-z0-9]+$
14、英數字加底線串:^ww+$5 E-mail地址:^[w-]+(.[w-]+)*@[w-]+(.[w-]+)+$
16、URL:^[a-zA-Z ]+://(w+(-w+)*)(.(w+(-w+)*))*(?s*)?$
或:^http://[A-Za-z0-9]+ .[A-Za-z0-9]+[/=?%-&_~`@[]':+!]*([^& lt;>""])*$
17、郵遞區號: ^[1-9]d{5}$
18、中文:^[u0391-uFFE5]+$
19、電話號碼:^(((d{2,33))|(d{}))|(d{}))| 3}-))?((0d{2,3})|0d{2,3}-)?[1-9] d{6,7}(-d{1,4})?$
20、手機號碼:^(((d{2,3}))|(d{3}-))?13d{9}$
21、雙字節字元(包括漢字在內):^x00 -xff
22、符合首尾空格:(^s*)|(s*$)(像vbscript的trim函數)
23、符合HTML標記:.*1>|
24、符合空白行:n[s| ]*r
25、擷取資訊中的網路連結:(h|H)(r|R)(e|E)(f |F) *= *('|”)?(w|\|/|.)+('|”| *|>)?
26、提取資訊中的郵件地址:w+([-+.] w+)*@w+([-.]w+)*.w+([-.]w+)*
27、提取資訊中的圖片連結:(s|S)(r|R)(c|C) * = *('|”)?(w|\|/|.)+('|”| *|>)?
28、提取資訊中的IP位址:(d+).(d+).(d+) .(d+)
29、擷取資訊中的中國手機號碼:(86)*0*13d{9}
30、擷取資訊中的中國固定電話號碼:((d{3,4})|d {3,4}-|s)?d{8}
31、擷取資訊中的中國電話號碼(包括行動和固定電話):((d{3,4})|d{3,4}- |s)?d{7,14}
32、提取資訊中的中國郵遞區號:[1-9]{1}(d+){5}
33、擷取資訊中的浮點數(即小數) :(-?d*).?d+
34、提取資訊中的任何數字:(-?d*)(.d+)?
35、IP:(d+).(d+).(d+). (d+)
36、電話區號:/^0d{2,3}$/
37、騰訊QQ號:^[1-9]*[1-9][0-9]*$
38 、帳號(字母開頭,允許5-16字節,允許字母數字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
39、中文、英文、數字及底線:^[u4e00-u9fa5_a-zA-Z0-9]+$
感謝閱讀此文,希望能幫助大家,謝謝大家對本站的支持!
更多shell 正規表示式詳細整理相關文章請關注PHP中文網!