基础正则表达式速查表
字符类型
[abc] | 字符集。匹配集合中所含的任何一个字符 |
[^abc] | 否定字符集。匹配不在集合中的字符 |
[a-z] | 字符范围。匹配制定范围内的任意字符 |
. | 匹配换行符号意外的任意字符 |
\ | 转义 |
\w | 匹配任何字母数字,包括下划线(等价于[A-Za-z0-9_] )Word |
\W | 匹配任何非字母数字(等价于[^A-Za-z0-9_] )NonWord |
\d | 匹配任何数字。Digital 数字 |
\D | 匹配任何非数字。NonDigital |
\s | 匹配空白。包括空格、制表符 。WhiteSpace |
\S | 非空白。NonWhiteSpace |
可视化(Regulex:JavaScript Regular Expression Visualizer)
分组和引用
(expression) | 分组。匹配括号里的整个表达式。group #1 |
(?:experssion) | 非捕获分组。匹配括号里的整个字符串但不获取匹配结果,拿不到分组引用。 |
\num | 对前面所匹配分组的引用。 |
锚点或边界
^ | 匹配字符串或行开头。锚点Begin! |
$ | 匹配字符串或行结尾。边界End! |
\b | 匹配单词边界。WordBoundary! |
\B | 匹配非单词边界。NonWordBoundary! |
数量表示
? | 匹配前面的表达式0个或1个。(有无,0或1) |
+ | 匹配前面表达式至少1个。 |
* | 匹配前面表达式0或多个。 |
| | 或运算符。 |
{m} | 匹配前面的表达式m个。 |
{m, } | 匹配至少m个。{1,}==+ |
{m,n} | 匹配前面的表达式最少m个,最多n个 |
预查断言
(?=) | 正向预查。FollowedBy |
(?!) | 正向否定预查。Not followed by |
(?<=) | 反向预查。 |
(?<!) | 反向否定预查。 |
特殊标志
/.../i | 忽略大小写 |
/.../g | 全局匹配 |
/.../m | 多行修饰符。用于多行匹配。 |