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
第二个参数中的特殊字符
字符 | 说明 |
---|---|
2,…,$99 | 匹配第 1-99 个分组里捕获的文本 |
$& | 匹配到的子串文本 |
$` | 匹配到的子串的左边文本 |
$' | 匹配到的子串的右边文本 |
$$ | 美元符号 |
9. RegExp
相关实例方法
属性 | 方法作用说明 |
---|---|
test | 判断目标字符串中是否有满足正则匹配的子串。返回布尔值 |
exec | 比 match 更强大的正则匹配操作。返回结果与 match 一致 |
10. RegExp
静态属性
属性 | 方法作用说明 |
---|---|
9 | 最近一次第 1-9 个分组捕获的数据 |
input | 最近一次目标字符串,可以简写成 $_ |
lastMatch | 最近一次匹配的文本,可以简写成 $& |
lastParen | 最近一次捕获的文本,可以简写成 $+ |
leftContext | 目标字符串中 lastMatch 之前的文本,可以简写成 $` |
rightContext | 目标字符串中 lastMatch 之后的文本,可以简写成 $' |
网友评论