天天看點

18、正規表達式中常用字元

1、基本規則

錨點----辨別位置

    ^: 表示句首.   $: 表示句尾.

    \<: 表示詞首.  \>: 表示詞尾. 

修飾符

*: 表示前一個 char. set 的出現次數為 0 或多次,[a-z]+able.

?: 表示前一個 char. set 的出現次數為 0 或 1 次.

+: 表示前一個 char. set 的出現次數為 1 或多次.

{n}: 表示前一個 char. set 的出現次數必須為 n 次.

|: 或比對,如a|b|c比對a或b或c

(): 分組符号,如,love(able|rs)ov+比對loveable或lovers,比對一個或多個ov

{n,}: 表示前一個 char. set 的出現次數至少為 n 次.

{n,m}: 表示前一個 char. set 的出現次數為 n 到 m 次.

\:轉義字元,如\{5,3\}來表示括号

[ ]:單個字元;如[A] 即A符合要求

[^A-F]:比對不在指定範圍内的字元所在行

[ - ]: 範圍;如[A-Z]即A,B,C一直到Z都符合要求

.: 比對任意一個字元(1個)

.*合起來表示該位置可以出現0個以上的任意字元。

[]:比對其中之一的字元

\(\):标記字元串,将比對到的結果存放入寄存器中,如’\(love\)’,love被标記為1

\w: 比對文字和數字字元,也就是[A-Za-z0-9],如:’G\w*p’比對以G後跟零個或多個文字或數字字元,然後是p。

\W \w: 的反置形式,比對一個或多個非單詞字元,如點号句号等。

\b: 單詞鎖定符,如: ‘\bgrep\b’隻比對grep。

2、4. POSIX字元類

    為了在不同國家的字元編碼中保持一至,POSIX(The Portable Operating System Interface)增加了特殊的字元類,如[:alnum:]是A-Za-z0-9的另一個寫法。要把它們放到[]号内才能成為正規表達式,如[A- Za-z0-9]或[[:alnum:]]。

[:alnum:]文字數字字元

[:alpha:]文字字元

[:digit:]數字字元

[:graph:]非空字元(非空格、控制字元)

[:lower:]小寫字元

[:cntrl:]控制字元

[:print:]非空字元(包括空格)

[:punct:]标點符号

[:space:]所有空白字元(新行,空格,制表符)

[:upper:]大寫字元

[:xdigit:]十六進制數字(0-9,a-f,A-F)

參考

繼續閱讀