正则表达式对照表

符号 说明
. 匹配任意字符,除了行结束符(比如换行符)
\d 匹配数字字符。等价于 [0-9]
\D 匹配非数字字符。等价于 [^0-9]
\s 匹配任意的空白符,包括空格、制表符、换行符等等
\S 匹配任意的非空白符
\w 匹配任何字类字符,包括下划线。等价于[A-Za-z0-9_]
\W 匹配任何非字类字符。等价于 [^A-Za-z0-9_]
* 匹配前面的子表达式零次或多次
+ 匹配前面的子表达式一次或多次
? 匹配前面的子表达式零次或一次。在量词后面加上 ‘?’ 可以将贪婪匹配转换成非贪婪匹配
{n,m} 匹配前面的子表达式至少 n 次,但是不超过 m 次
| 匹配 ‘|’ 左右表达式中的任意一个。例如,‘z|food’ 可以匹配 “z” 或者 “food”。
() 标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 \( 和 \)。
[] 标记一个中括号表达式的开始和结束位置。用于指定一个字符集,字符集中的字符可以匹配任意字符。
[^] 字符集取反,匹配除了字符集中的任意一个字符之外的所有字符。
\ 转义符,用于匹配一些特殊字符,例如 $, *, (, ) 等
^ 匹配字符串的开头
$ 匹配字符串的结尾
\b 匹配单词的边界
\B 匹配非单词边界

常用正则表达式

正则表达式 含义 示例
^ 匹配字符串的开头 ^abc
$ 匹配字符串的结尾 abc$
. 匹配任意单个字符,除了换行符和其他行终止符 he.l.o
* 匹配前一个字符零次或多次 ab*
+ 匹配前一个字符一次或多次 ab+
? 匹配前一个字符零次或一次 colou?r
[ ] 匹配括号内的任意一个字符 [abcd]
[^ ] 匹配括号内的任意一个字符以外的字符 [^abcd]
\d 匹配数字字符,等价于 [0-9] \d{3}
\D 匹配非数字字符 \D{3}
\w 匹配字母、数字、下划线,等价于 [A-Za-z0-9_] \w+
\W 匹配非字母、数字、下划线 \W+
( ) 匹配括号内的表达式,并捕获匹配的结果 (\d{3})\d{3}-\d{4}
| 匹配左右任意一个表达式 cat|dog