定位符,用來標記位置 | |
$ | 匹配輸入字符串的結尾位置 |
^ | 匹配輸入字符串的開始位置,除非在方括號表達式中使用,此時它表示不接受該字符集合。要匹配 ^ 字符自己,請使用 \^ |
\b | 匹配字的邊界:字和空格之間的位置 |
\B | 非字邊界匹配 |
限制符,用來限制次數 | |
* | 匹配前面的子表達式零次或屢次 |
+ | 匹配前面的子表達式一次或屢次 |
? | 匹配前面的子表達式零次或一次,或指明一個非貪婪限定符 |
{n} | 肯定匹配n次 |
{n, } | 至少匹配n次 |
{n, m} | 匹配n次到m次 |
標記表達式,有三種:中括號表達式、子表達式、限定符表達式 | |
[ | 標記一個中括號表達式的開始。 |
( ) | 標記一個子表達式的開始和結束位置。子表達式能夠獲取供之後使用。使用方式$1, $2 ... |
{ | 標記限定符表達式的開始。要匹配 {,請使用 \{ |
邏輯運算符,表示或 | |
| | 指明兩項之間的一個選擇 |
元字符,用於匹配 | |
. | 匹配除換行符 \n以外的任何單字符 |
\d | 匹配數字,0-9 |
\s | 匹配任何空白 [\f\n\r\t\v],其中\f換頁, \n換行, \r回車, \t製表, \v垂直製表 |
\w | 下劃線、數字和字母 |
中括號表達式 | |
[xyz] | 匹配括號中的任意一個 |
[^xyz] | 匹配除了括號中符號的任意一個,不匹配xyx |
[0-9] | -表示範圍 |
運算符優先級 | 描述 |
---|---|
\ | 轉義符 |
(), (?:), (?=), [] | 圓括號和方括號 |
*, +, ?, {n}, {n,}, {n,m} | 限定符 |
^, $, \任何元字符、任何字符 | 定位點和序列(即:位置和順序) |
| | 替換,"或"操做字符具備高於替換運算符的優先級,使得"m|food"匹配"m"或"food"。若要匹配"mood"或"food",請使用括號建立子表達式,從而產生"(m|f)ood"。 |