\ |
將下一個字符標記爲一個特殊字符、或一個原義字符、或一個 向後引用、或一個八進制轉義符。例如,'n' 匹配字符 "n"。'\n' 匹配一個換行符。序列 '\' 匹配 "" 而 "." 則匹配 "."。 |
^ |
匹配輸入字符串的開始位置。 |
$ |
匹配輸入字符串的結束位置。 |
* |
匹配前面的子表達式零次或屢次。例如,zo* 能匹配 "z" 以及 "zoo"。* 等價於{0,}。 |
+ |
匹配前面的子表達式一次或屢次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等價於 {1,}。 |
? |
匹配前面的子表達式零次或一次。例如,"do(es)?" 能夠匹配 "do" 或 "does"。? 等價於 {0,1}。 |
{n} |
n 是一個非負整數。匹配肯定的 n 次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',可是能匹配 "food" 中的兩個 o。 |
{n,} |
n 是一個非負整數。至少匹配n 次。例如,'o{2,}' 不能匹配 "Bob" 中的 'o',但能匹配 "foooood" 中的全部 o。'o{1,}' 等價於 'o+'。'o{0,}' 則等價於 'o*'。 |
{n,m} |
m 和 n 均爲非負整數,其中n <= m。最少匹配 n 次且最多匹配 m 次。 |
? |
當該字符緊跟在任何一個其餘限制符 (*, +, ?, {n}, {n,}, {n,m}) 後面時,匹配模式是非貪婪的。非貪婪模式儘量少的匹配所搜索的字符串,而默認的貪婪模式則儘量多的匹配所搜索的字符串。例如,對於字符串 "oooo",'o+?' 將匹配單個 "o",而 'o+' 將匹配全部 'o'。 |
. |
匹配除 "\n" 以外的任何單個字符。要匹配包括 '\n' 在內的任何字符,請使用象 '[.\n]' 的模式。 |
x|y |
匹配 x 或 y。例如,z|food 能匹配 "z" 或 "food"。(z|f)ood 則匹配 "zood" 或 "food"。 |
[xyz] |
匹配所包含的任意一個字符。 |
[^xyz] |
匹配未包含的任意字符。例如, '[^abc]' 能夠匹配 "plain" 中的'p'。 |
[a-z] |
匹配指定範圍內的任意字符。例如,'[a-z]' 能夠匹配 'a' 到 'z' 範圍內的任意小寫字母字符。 |
[^a-z] |
匹配任何不在指定範圍內的字符。例如,'[^a-z]' 能夠匹配任何不在 'a' 到 'z' 範圍內的任意字符。 |
\b |
匹配一個單詞邊界,也就是指單詞和空格間的位置。例如, 'er\b' 能夠匹配"never" 中的 'er',但不能匹配 "verb" 中的 'er'。 |
\B |
匹配非單詞邊界。'er\B' 能匹配 "verb" 中的 'er',但不能匹配 "never" 中的 'er'。 |
\d |
匹配一個數字字符。等價於 [0-9]。 |
\D |
匹配一個非數字字符。等價於 [^0-9]。 |
\n |
匹配一個換行符。等價於 \x0a 和 \cJ。 |
\r |
匹配一個回車符。等價於 \x0d 和 \cM。 |
\s |
匹配任何空白字符,包括空格、製表符、換頁符等等。等價於 [ \f\n\r\t\v]。 |
\S |
匹配任何非空白字符。等價於 [^ \f\n\r\t\v]。 |
\w |
匹配包括下劃線的任何單詞字符。等價於'[A-Za-z0-9_]'。 |
\W |
匹配任何非單詞字符。等價於 '[^A-Za-z0-9_]'。 |
\num |
匹配 num,其中 num 是一個正整數。對所獲取的匹配的引用。例如,'(.)\1' 匹配兩個連續的相同字符。 |