。 |
比對任何單一字元。 |
[ ] |
指示字元類別。比對方括號內的任何字元 (例如,[abc] 會比對「a」、「b」及「c」)。 |
^ |
如果此中繼字元出現在字元類別的開頭,它可否定字元類別。否定的字元類別會比對方括號內以外的任何字元 (例如,[^abc] 會比對除了「a」、「b」與「c」以外的所有字元)。 如果 ^ 位於規則運算式的開頭,它會比對輸入的開頭 (例如,^[abc] 將只比對以「a」、「b」或「c」為開頭的輸入)。 |
- |
在字元類別中,表示字元範圍 (例如,[0-9] 會比對從「0」到「9」的任何數字)。 |
? |
表示前置的運算式是選用的:它會比對一次或完全都不比對 (例如,[0-9][0-9]? 會比對「2」與「12」)。 |
+ |
表示前置運算式會比對一次或多次 (例如,[0-9]+ 會比對「1」、「13」、「456」等)。 |
* |
指示前置運算式比對零或多次。 |
??、+?、*? |
?、+ 與 * 的非貪婪版本。這些項目會盡可能少比對,不像貪婪版本會盡可能多比對 (例如,假設輸入為「<abc><def>」,<.*?> 會比對「<abc>」,而 <.*> 會比對「<abc><def>」)。 |
( ) |
分組運算符。例如:(\d+,)*\d+ 會比對以逗號分隔的數字清單 (例如「1」或「1,23,456」)。 |
{ } |
指示比對群組。 |
\ |
逸出字元:照字面意義解譯下一個字元 (例如,[0-9]+ 會比對一個或多個數字,但 [0-9]\+ 會比對後面有加號字元的一個數字)。這也可用於縮寫 (例如,適用於任何英數字元的 \a;請參閱下表)。
如果 \ 後跟數字 n,它會比對第 n 個比對群組 (從 0 開始)。例如:<{.*?}>.*</\0> 符合「<head>Contents</head>」。
|
$ |
在規則運算式的結尾,此字元會比對輸入的結尾 (例如,[0-9]$ 會比對輸入結尾的數字)。 |
| |
交替運算符:可分隔兩個運算式,其中一個完全相符 (例如,T|the 會比對「The」或「the」)。 |
! |
否定運算符:接在 ! 之後的運算式不會比對輸入 (例如,a!b 會比對後面沒有「b」的「a」)。 |