普通字符包括沒有顯示指定爲元字符的全部能夠打印和不可打印字符,這包括全部大寫和小寫字母、全部數字、全部標點符號和一些其餘符號。正則表達式
非打印字符也是正則表達式的組成部分。spa
字符 | 描述 |
---|---|
\cx | 匹配有x指明的控制字符。例如\cM匹配一個Control-M或回車符 |
\f | 匹配一個換頁符。等價於\x0c和\cL |
\n | 匹配一個換行符。等價於\x0a和\cJ |
\r | 匹配一個回車符。等價於\x0d和\cM |
\s | 匹配任何空白頁,包括空格、製表符、換頁符等。等價於[\f\n\r\t\v] |
\S | 匹配任何非空白字符。等價於[^\f\n\r\t\v] |
\t | 匹配一個製表符。等價於\x09和\cl |
\v | 匹配一個垂直製表符。等價於\x0b和\cK |
特殊字符 | 描述 |
---|---|
$ | 匹配輸入字符串的結尾位置。若是設置了RegExp對象的Multiline屬性,則$也匹配\n或\r。要匹配$字符自己,則須要使用\$. |
() | 標記一個子表達式的開始和結束位置。子表達式能夠獲取供之後使用。要匹配這些字符,請使用\(和\). |
* | 匹配前面的子表達式零次或者屢次。 \* |
+ | 匹配前面的子表達式一次或者屢次。 \+ |
. | 匹配除換行符\n以外的任何單字符。 \. |
[ | 標記一箇中括號表達式的開始。 \[ |
? | 匹配前面的子表達式零次或一次,或指明一個非貪婪限定符。 \? |
\ | 將下一個字符標記爲或特殊字符、或原義字符、或向後引用、或八進制轉義符。 |
^ | 匹配輸入字符串的開始位置,除非在方括號表達式中使用,此時它表示不接受該字符集合。 \^ |
{ | 標記限定符表達式的開始。 \{ |
| | 指明兩相之間的一個選擇。 \| |
字符 | 描述 |
---|---|
* | 匹配前面的子表達式零次或屢次。例如 zo*可以匹配zoo或者z。*等價於{0,} |
+ | 匹配前面的子表達式一次或者屢次。例如:zo+能匹配zo或者zoo ,可是不能匹配z。+等價於{1,} |
? | 匹配前面的子表達式零次或者一次。例如de(es)?能夠匹配de或者dees。?等價於{0,1} |
{n} | n是一個非負整數。匹配肯定的n次。例如:o{2}不能匹配bob,但能匹配food。 |
{n,} | 至少匹配n次。例如:o{2,}不能匹配bob,但能匹配fooooood。{1,}等價於+,{0,}等價於*。 |
{n,m} | 其中n<=m,至少匹配n次,最多匹配m次。例如:o{1,3}能匹配food,但不能匹配fooooood。{0,1}等價於?。 |
可以將正則表達式固定到行首或行尾。對象
字符 | 描述 |
---|---|
^ | 匹配輸入字符串開始的位置。 |
$ | 匹配輸入字符串結尾的位置。 |
\b | 匹配一個字邊界,即字與空格鍵的位置。 |
\B | 非字邊界匹配。 |