正则表达式速查表

本文提供了一份用来快速查看的常用 JavaScript 的正则表达式命令参数。

字符

字符 匹配
字母和数字 自身
\o NUL字符
\t 制表符
\n 换行符
\v 垂直制表符
\f 换页符
\r 回车符
\xnn 由十六进制数 nn 指定的拉丁字符
\uxxxx 由十六进制数 xxxx 指定的 Unicode 字符
\cX 控制字符 ^X

字符类

字符 匹配
[...] 括号内任意字符
[^...] 不在括号内的任意字符
. 除换行符和其他Unicode行终止符之外的任意字符
\w 任何ASCII字符组成的单词,等价于[a-zA-Z0-9]
\W 任何非ASCII字符组成的单词,等价于[^a-zA-Z0-9]
\s 任何Unicode空白符
\S 任何非Unicode空白符
\d 任何ASCII数字,等价于[0-9]
\D 任何非ASCII数字,等价于[^0-9]
[\b] 退格直接量

重复

字符 含义
{n,m} 匹配前一项至少n次,但不能超过m次
{n,} 匹配前一项n次或者更多次
{n} 匹配前一项n次
? 匹配前一次0次或者1次,等价于{0,1}
+ 匹配前一项1次或者多次,等价于{1,}
* 匹配前一项0次或者多次,等价于{0,}

非贪婪匹配模式:??+?*?{n,m}?

选择、分组和引用

字符 含义
| 匹配符号左边的子表达式或右边的子表达式
(...) 组合,将几个项组成一个单元,可用重复符号修饰,并且可以记住匹配的字符串
(?:...) 组合但是不记忆
\n 第n个分组匹配的字符

指定匹配位置

字符 含义
^ 匹配字符串开头,多行检索时匹配一行的开头
$ 匹配字符串结尾,多行检索时匹配一行的结尾
\b 匹配一个单词的边界位置
\B 匹配非单词的边界位置
x(?=y) 正向断言(Lookahead assertion),当x后跟着y时匹配x
x(?!y) 否定正向断言(Negative lookahead assertion),当x后面跟的不是y时才匹配x
(?<=y)x 负向断言(Lookbehind assertion),当x在y的后面时匹配x
(?<!y)x 否定负向断言(Negative lookbehind assertion),当x不跟着y时才匹配x

修饰符

字符 含义
i 不区分大小写
g 执行全局匹配
m 多行匹配

正则表达式速查表
https://infiniture.cn/2019/09/30/正则表达式速查表/
作者
NickHopps
发布于
2019年9月30日
许可协议