本文提供了一份用来快速查看的常用 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 匹配非单词的边界位置
(?=p) 零宽正向先行断言,若内容后包含p则匹配p之前的内容
(?!p) 零宽负向先行断言,若内容后包含p则不匹配p之前的内容
(?<=p) 零宽正向后发断言,若内容前包含p则匹配p之后的内容
(?<!p) 零宽负向后发断言,若内容前包含p则不匹配p之后的内容

修饰符

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


JavaScript      正则表达式

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!