数量限定符
数量限定符 | 解释 |
---|---|
x+ |
1 或多个 |
x* |
0 或多个 |
x? |
0 或 1 个 |
x{n} |
n 个 |
x{n,} |
至少 n 个 |
x{n, m} |
n 至 m 个, 遵循贪婪原则, 会尽可能匹配多个; 如果在后面加个 ? (如 x{n, m}?), 遵循非贪婪原则 |
贪婪可以理解成从后往前遍历, 非贪婪可以理解为从前向后遍历
字符限定符
字符限定符 | 解释 |
---|---|
\d |
匹配一个数字字符, [0-9] |
\D |
匹配一个非数字字符, [^0-9] |
\w |
匹配单词字符(包括数字下划线在内), [0-9A-Za-z_] |
\W |
匹配非单词字符(包括数字下划线在内), [^0-9A-Za-z_] |
\s |
匹配空白字符(空格、回车、制表符) |
\S |
匹配非空白字符 |
. |
匹配任何单个字符(不包括空白字符) |
根据使用方法可以进行如下分类:
使用 | 解释 |
---|---|
[0-9a-zA-Z] |
范围字符 |
[abcd] |
任意字符 |
[^a-z] |
范围字符 |
定位符
定位符 | 解释 |
---|---|
^ |
开头标识 |
$ |
结尾标识 |
\b |
单词边界 |
\B |
非单词边界 |
转义符
\
: 用于匹配某些特殊字符
选择匹配符
|
: 可以匹配多个规则
特殊用法
特殊用法 | 解释 |
---|---|
?= 正向预查 |
匹配以指定内容结束的字符串 |
?! 负向预查 |
匹配不是以指定内容结束的字符串(JS 中没有负向预查) |
? |
不把选择匹配符的内容放到缓冲区 |
正则表达式在 JavaScript 下的使用方法
在 JavaScript 下使用正则表达式, 有两种方法:
第一种方法: 使用 RegExp
类
提供的方法有: (正则表达式在前面)
test(str)
: 在字符串匹配是否有匹配模式的字符串, 返回true/false
exec
: 如果正则表达式中有子表达式, 使用exec
方法, 返回result[0] = 匹配结果, result[1] = 子表达式 1 的匹配结果 ……
第二种方法是: 使用String
类
提供的方法有: (正则表达式在后面)search
返回匹配模式的字符串出现的位置, 如果没有, 返回 -1;match
返回匹配模式匹配到的字符串, 如果有, 返回数组, 无, 返回 null;replace
将匹配模式匹配到的字符串进行替换;split
将字符串已匹配模式为分隔符进行字符串分隔, 返回数组;