正規表示式語法表示的字元類 | ||
字元類別 | 匹配的字元 | 範例 |
d | 從0~9的數字 | dd可以匹配72,但不能匹配7a或a7 |
D | 非數字的字元 | DDD可匹配a%c,但不能匹配123 |
w | 底線和單字字元 | www可以匹配a2_,但不能匹配x&a |
W | 非單字字元和非底線 | WW可以匹配&^,但不能匹配a1 |
s | 空白符,包括了製表符,換行符,回車符,換頁符和垂直製表符 | |
S | 非空白符 | |
. | 任意字符 | |
[...] | 括號內的任意字元 | [abc]符合單一字元a,b或c,但不符合其他字元 [az]符合a~z的任意字元 |
[^...] | 非括號內的任意字元 | [ ^abc]匹配a,b,c出外的任意字符 [az]匹配非a~z的任意字符,但匹配大字字母 |
定位字元 | ||
定位字元 | 描述 | |
^ | 其後的模式必須在字串的開始處,如果是一個多行字串,應位於任意一行的開始。對於多行文本,需要設定multiline標誌 | |
$ | 其前面的模式必須在字串的末尾處,如果是一個多行字串,應該在任意一行的末尾 | |
A | 前面的模式必須在字串的開始處;多行標誌被忽略 | |
z | 前面的模式必須在字串的末尾處;多行標誌被忽略 | |
Z | 前面的模式必須在字串的末尾;或位於換行符前 | |
b | 匹配一個單字邊界,是指上是單字字元和非單字字元間的點。單字字元是[a-zA-Z0-9]中的任意字元。位於一個單字的開始 | |
B | 符合一個非但此邊界的位置,不再一個單字的開始 | |
基本的重複字符 | ||
重複字元 | 含意 | 範例 |
{n} | 符合前面的字元n次 | x{2}符合xx,但不符合x,或xxx |
{n,} | 符合前面的字元n次或更多 | x{2,}符合xx或xxx及更多的x, |
{n,m} | 匹配前面的字元最少n次,最多m次 | x{2,4}匹配xx,xxx,xxxx但是不匹配x,或xxxxx |
? | 匹配前面的字符0次或1次 | x?匹配x或空 |
+ | 匹配前面的字元1次或更多 | x+匹配x或等多的x |
* | 匹配前面的字元0次或更多 | x*匹配空或更多x |
{n,m} |