正则速查表

2021-09-08  本文已影响0人  浅忆_0810

1. 字面量

模式 说明
字母、数字 匹配字面量本身。比如 /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 键(特殊记忆)

2. 字符组

模式 说明
[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]

3. 量词

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

4. 位置

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

5. 括号的作用

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

6. 修饰符

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

7. String相关实例方法

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

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

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

9. RegExp相关实例方法

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

10. RegExp静态属性

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

猜你喜欢

热点阅读