搜尋
首頁php教程PHP开发shell 正規表示式詳細整理

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(/[^u4E00-u9FA5]/g,”)」 onbeforepaste=” clipboardData.setData('text',clipboardData.getData('text').replace(/[^u4E00-u9FA5]/g,”))” 

 
 
用正規表示式限制只能輸入全角字元: 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中文網!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中