1. 程式人生 > >正則表示式——符號含義

正則表示式——符號含義

正則表示式符號及其含義 

字  符

描  述

\

轉義字元,將一個具有特殊功能的字元轉義為一個普通字元,或反過來

^

匹配輸入字串的開始位置

$

匹配輸入字串的結束位置

*

匹配前面的零次或多次的子表示式

+

匹配前面的一次或多次的子表示式

?

匹配前面的零次或一次的子表示式

{n}

n是一個非負整數,匹配前面的n次子表示式

{n,}

n是一個非負整數,至少匹配前面的n次子表示式

{n,m}

mn均為非負整數,其中n<=m,最少匹配n次且最多匹配m

?

當該字元緊跟在其他限制符(*,+,?,{n

},{n,},{nm})後面時,匹配模式儘可能少的匹配所搜尋的字串

.

匹配除“\n”之外的任何單個字元

(pattern)

匹配pattern並獲取這一匹配

(?:pattern)

匹配pattern但不獲取匹配結果

(?=pattern)

正向預查,在任何匹配pattern的字串開始處匹配查詢字串

(?!pattern)

負向預查,在任何不匹配pattern的字串開始處匹配查詢字串

x|y

匹配xy。例如,‘z|food’能匹配“z”或“food”。‘(z|f)ood’則匹配“zood”或“food”

[xyz]

字元集合。匹配所包含的任意一個字元。例如,‘[abc]’可以匹配“plain”中的‘a’

[^xyz]

負值字元集合。匹配未包含的任意字元。例如,‘[^abc]’可以匹配“plain”中的‘p’

[a-z]

匹配指定範圍內的任意字元。例如,‘[a-z]’可以匹配'a'到'z'範圍內的任意小寫字母字元

[^a-z]

匹配不在指定範圍內的任意字元。例如,‘[^a-z]’可以匹配不在‘a’~‘z’'內的任意字元

\b

匹配一個單詞邊界,指單詞和空格間的位置

\B

匹配非單詞邊界

\d

匹配一個數字字元,等價於[0-9]

\D

匹配一個非數字字元,等價於[^0-9]

\f

匹配一個換頁符

\n

匹配一個換行符

\r

匹配一個回車符

\s

匹配任何空白字元,包括空格、製表符、換頁符等

\S

匹配任何非空白字元

\t

匹配一個製表符

\v

匹配一個垂直製表符。等價於\x0b和\cK

\w

匹配包括下劃線的任何單詞字元。等價於‘'[A-Za-z0-9_]’

\W

匹配任何非單詞字元。等價於‘[^A-Za-z0-9_]’

 說明:

由於在正則表示式中“ \ ”、“ ? ”、“ * ”、“ ^ ”、“ $ ”、“ + ”、“(”、“)”、“ | ”、“ { ”、“ [ ”等字元已經具有一定特殊意義,如果需要用它們的原始意義,則應該對它進行轉義。

例如:希望在字串中有下標符號“ [n]”,那麼正則表示式應該這麼寫:  "\[\d+\]"  。