速查表

字面量

模式说明
字母、数字匹配字面量本身。比如 /f/,匹配字母 "f"
\0匹配 NUL 字符。
\t匹配水平制表符。
\v匹配垂直制表符。
\n匹配换行符。
\r匹配回车符。
\f匹配换页符。
\xnn匹配拉丁字符。比如 \xOA 等价于 \n
\uxxxx匹配 Unicode 字符。比如 \u2028 匹配行终止符,\u2029 匹配段终止符。
\cX匹配 ctrl+X。比如 \cI 匹配 ctrl+I,等价于 \t
[[\b]匹配 Backspace 键(特殊记忆)。

字符组

模式说明
[abc]匹配 "a"b""c" 其中任何一个字符。
[a-c1-3]匹配 "a""b""c""1""2""3" 其中任何一个字符。
[^abc]匹配除了 "a""b""c" 之外的任何一个字符。
[^a-c1-3]匹配除了 "a""b""c""1""2""3" 之外的任何一个字符。
.通配符,匹配除了少数字符(\n)之外的任意字符。
\d匹配数字,等价于 [0-9]
\D匹配非数字,等价于 [^0-9]
\w匹配单词字符,等价于 [a-zA-Z0-9_]
\W匹配非单词字符,等价于 [^a-za-z0-9_]
\s匹配空白符,等价于 [\t\v\n\r\f]
\S匹配非空白符,等价于 [^\t\v\n\r\f]

量词

模式说明
{n,m}连续出现 n 到 m 次。贪婪模式。
{n,}至少连续出现 n 次。贪婪模式。
{n}连续出现 n 次。贪婪模式。
?等价于 {0,1}。贪婪模式。
-等价于 {1,}。贪婪模式。
*等价于 {0,}。贪婪模式。
{n,m}?连续出现 n 到 m 次。惰性模式。
{n,}?至少连续出现 n 次。惰性模式。
{n}?连续出现 n 次。惰性模式。
??等价于 {0,1}?。惰性模式。
+?等价于 {1,}?。惰性模式。
*?等价于 {0,}?。惰性模式。

位置

模式说明
^匹配开头的位置,当正则有修饰符 m 时,表示匹配行开头位置。
$匹配结尾的位置,当正则有修饰符 m 时,表示匹配行结尾位置。
\b匹配单词边界,即,\w\W^\w\w$ 之间的位置。
\B匹配非单词边界,即,\w\w\W\W^\W\W$ 之间的位置。
(?=abc)匹配 "abc" 前面的位置,即此位置后面匹配 "abc"
(?!abc)匹配非 "abc" 前面的位置,即此位置后面不匹配 "abc"

括号的作用

模式说明
(ab)捕获型分组。把 "ab" 当成一个整体,比如 (ab)+ 表示 "ab" 至少连续出现一次。
(?:ab)非捕获型分组。与 (ab) 的区别是,它不捕获数据。
(good|nice)捕获型分支结构。匹配 "good""nice"
(?:good|nice)非捕获型分支结构。与 (good|nice) 的区别是,它不捕获数据。
\num反向引用。比如 \2,表示引用的是第二个括号里的捕获的数据。

修饰符

符号说明
g全局匹配,找到所有满足匹配的子串。
i匹配过程中,忽略英文字母大小写。
m多行匹配,把 ^$ 变成行开头和行结尾。

String 相关实例方法

属性方法作用说明
search返回正则匹配到的第一个子串在目标字符串中的下标位置。
split以正则匹配到的子串,对目标字符串进行切分。返回一个数组。
match对目标字符串执行正则匹配操作,返回的匹配结果数组中包含具体的匹配信息。
replace对目标字符串进行替换操作。正则是其第一个参数。返回替换后的字符串。

replace 第二个参数中的特殊字符

字符说明
$1,$2,…,$99匹配第 1-99 个分组里捕获的文本
$&匹配到的子串文本
$`匹配到的子串的左边文本
$'匹配到的子串的右边文本
$$美元符号

RegExp 相关实例方法

属性方法作用说明
test判断目标字符串中是否有满足正则匹配的子串。返回布尔值。
exec比 match 更强大的正则匹配操作。返回结果与 match 一致。

RegExp 静态属性

属性方法作用说明
$1,…,$9最近一次第 1-9 个分组捕获的数据。
input最近一次目标字符串,可以简写成 $_
lastMatch最近一次匹配的文本,可以简写成 $&
lastParen最近一次捕获的文本,可以简写成 $+
leftContext目标字符串中 lastMatch 之前的文本,可以简写成 $` 。
rightContext目标字符串中 lastMatch 之后的文本,可以简写成 $'