正則常用字符集簡寫
文章目錄
由於有些字符集很常用,所以正則表達式本身就提供了對這類字符集的簡寫
如上圖所示,\s、\S、\d、\D、\w、\W
這六個字符集在平時是很常用的,->左邊兩邊的正則,一般情況下,表示的含義是一樣的,也就是等價的。
也許你已經發現了,\s
和\S
只是字母大小寫的區別,代表的字符集就變成相反的了。\s
和\S
是沒有交集的,但它們是互補的,兩個組合起來,剛好是一個表示所有字符的全集[\s\S]
。
提示:在有些模式下,點
.
是不能匹配到換行符的,所以在這個時候,我們就可以用[\s\S]
或[\w\W]
或[\d\D]
來代替點.
\d 等價於 [0-9],表示匹配任意一個數字
\w
等價於[A-Za-z0-9_]
,表示匹配任意一個數字、字母或下劃線
\s
等價於[ \t\r\n\f]
,表示匹配任意一個空格、製表符、換行或換頁符
\D
等價於 [^0-9]
,跟\d
相反
\W
等價於 [^A-Za-z0-9_]
,跟\w相反
\S
等價於 [^ \t\r\n\f]
,跟\s
相反
簡寫的字符集也可以放到方括號[]
裏面,表示的還是它原來的字符集,例如\d
可以寫成[\d]
,\w
可以寫成[\w]
,\s
可以寫成[\s]
。也可以這麼寫[\d\s]
,表示匹配任意一個數字或空白符。而[^\d\s]
跟[\D\S]
是等價的,表示的是匹配任意一個非數字或非空白符。
微信公衆號:Cooking Regex