開發 正規表示式

2021-08-21 19:18:01 字數 1784 閱讀 5624

正規表示式(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.限定符 限定匹配的數量或...