正則表達式語法表示的字符類
字符類 匹配的字符 示例
\d 從0~9的數字 \d\d可以匹配72,但不能匹配7a或者a7
\D 非數字的字符 \D\D\D可匹配a%c,但不能匹配123
\w 下劃線和單詞字符 \w\w\w可以匹配a2_,但不能匹配x&a
\W 非單詞字符和非下劃線 \W\W可以匹配&^,但不能匹配a1
\s 空白符,包括了制表符,換行符,回車符,換頁符和垂直制表符
\S 非空白符
. 任意字符
[...] 括號內的任意字符 [abc]匹配單個字符a,b或c,但不匹配其他字符
[a-z]匹配a~z的任意字符
[^...] 非括號內的任意字符 [^abc]匹配a,b,c出外的任意字符
[a-z]匹配非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}