正则常用字符集简写
[toc]
由于有些字符集很常用,所以正则表达式本身就提供了对这类字符集的简写
如上图所示,\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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。