正規表示式(regular expression),指按照事先定義好的組合規則,用字串來描述一組符合該規則的字串的邏輯公式。許多程式語言都支援正規表示式,通常縮寫詞中會以regex開頭。
級別類別
符號一級
轉義符/
二級圓括號和方括號
( ), (?:), (?=), [ ]
**限定符
*, +, ?, , ,
四級位置和順序
^, $, anymetacharacter
字元族說明
[[:alpha:]]
任何字母。
[[:digit:]]
任何數字。
[[:alnum:]]
任何字母和數字。
[[:space:]]
任何白字元。
[[:upper:]]
任何大寫字母。
[[:lower:]]
任何小寫字母。
[[:punct:]]
任何標點符號。
[[:xdigit:]]
任何16進製制的數字,相當於[0-9a-fa-f]
[[:<:]],[[:>:]]
標記表示word邊界。它們分別與word的開始和結束匹配。word是一系列字字元,其前面和後面均沒有字字元。字字元是alnum類中的字母數字字元或下劃線(_)
符號說明
轉意,即通常在"/"後面的字元不按原來意**釋,如/b/匹配字元"b",當b前面加了反斜桿後//b/,轉意為匹配乙個單詞的邊界。
對正規表示式功能字元的還原,如"*"匹配它前面元字元0次或多次,/a*/將匹配a,aa,aaa,加了"/"後,/a/*/將只匹配"a*"。
^匹配乙個輸入或一行的開頭,/^a/匹配"an a",而不匹配"an a"
$匹配乙個輸入或一行的結尾,/a$/匹配"an a",而不匹配"an a"
*匹配前面元字元0次或多次,/ba*/將匹配b,ba,baa,baaa
+匹配前面元字元1次或多次,/ba*/將匹配ba,baa,baaa
?匹配前面元字元0次或1次,/ba*/將匹配b,ba
(x)匹配x儲存x在名為$1...$9的變數中
x|y匹配x或y
精確匹配n次
匹配n次以上
匹配n-m次
[xyz]
字符集(character set),匹配這個集合中的任一乙個字元(或元字元)
[^xyz]
不匹配這個集合中的任何乙個字元
[/b]
匹配乙個退格符
/b匹配乙個單詞的邊界
/b匹配乙個單詞的非邊界
/cx這兒,x是乙個控制符,//cm/匹配ctrl-m
/d匹配乙個字數字元,//d/ = /[0-9]/
/d匹配乙個非字數字元,//d/ = /[^0-9]/
/n匹配乙個換行符
/r匹配乙個回車符
/s匹配乙個空白字元,包括/n,/r,/f,/t,/v等
/s匹配乙個非空白字元,等於/[^/n/f/r/t/v]/
/t匹配乙個製表符
/v匹配乙個重直製表符
/w匹配乙個可以組成單詞的字元(alphanumeric,這是我的意譯,含數字),包括下劃線,如[/w]匹配"$5.98"中的5,等於[a-za-z0-9]
/w匹配乙個不可以組成單詞的字元,如[/w]匹配"$5.98"中的$,等於[^a-za-z0-9]。
/num
匹配 num,其中 num 是乙個正整數。對所獲取的匹配的引用
( )標記乙個子表示式的開始和結束位置。
[ ]標記乙個中括號表示式。
正規表示式 開發常用的正規表示式
正規表示式是一種用來進行文字匹配的工具,其語法優美簡潔。在開發中,查詢 對比以及匹配字串是家常便飯的業務,通過正規表示式我們將這些業務描述成某些需求規則,來讓我們的 更美觀 實用。例如我們要驗證使用者輸入的密碼長度是否滿足6 18位的長度,新手最常見的驗證方式是判斷輸入的密碼長度 return te...
正規表示式 正規表示式 總結
非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 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 負浮點數 正浮點數正則式 英文本串 a za z...
正規表示式 iOS開發
a.正規表示式 正規表示式使 用單個字串來描述 匹配 一系列符合某個句法規則的字串。在很多 文字編輯器 裡,正規表示式通常被 用來檢索 替換那些 符合某個模式的 文字。b.原義 文字字元 正常的 文字字元。c.元字元 具有特殊意義的專 用字元,是代替正常 文字字元的字元。d.限定符 限定匹配的數量或...