[PERL] Regex 字元集(群組)

URL Link //n.sfs.tw/12987

2019-01-03 14:55:09 By 張○○

以下8個是perl的特殊符號代表著一群字元,用在正規表達式中,和別的語言正規表達式略有不同。

英淆稱為 character class,另外有兩個代表文字邊界用的字元 \b,\B

\s 空白字元 代表
        [ \t\r\n\f]  <==注意\t 前有一個空白

\S 非空白字元
        [^\s]
\d 數字字元
        [0-9]

\D 非數字字元
        [^0-9]

\w 文字字元
        [0-9a-zA-Z_]  <== 注意下底線 '_'

\W 非文字字元
        [^\w]


\b 字元邊界
        \bis

        isn't 比對成功
        what is it 比對成功
        .is 比對成功
        -is 比對成功

        this 比對不成功
        artist 比對不成功
        _is 比對不成功
        123is 比對不成功
 

\B 非字元邊界
        \Bis 比對成功 this, artist  ;比對不成功 --isn't, what is it

這兩個字符的意義簡單說:

\b 這字符代表不能接其它的a-zA-Z_0-9字元,也就是不能接 \w(或說一定要接\W);

\B 代表一定要接 a-zA-Z_0-9字元,也就是一定要接 \w