# 速查表

正则表达式速查表

# 字面量

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

# 字符组

模式 说明
[abc] 匹配"a"、"b"、"c"其中任何一个字符。
[a-d1-4] 匹配"a"、"b"、"c"、"d"、"1"、"2"、"3"、"4"其中任何一个字符。
[^abc] 匹配除了"a"、"b"、"c"之外的任何一个字符。
[^a-d1-4] 匹配除了"a"、"b"、"c"、"d"、"1"、"2"、"3"、"4"之外的任何一个字符。
. 通配符,匹配除了少数字符(\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$之间的位置。
(?=abd) 匹配"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之后的文本,可以简写成$'
最近更新时间: 2020/12/28 19:15:47