# 正则表达式
正则表达式是国际标准,跨越语言
正则表达式是一个规则,用于验证字符串。
# 基础
- 字面量匹配
规则中直接书写字面量字符
- 特殊字符
.
^
$
1
2
3
2
3
- 转义符
\n
\r
\t
\s
\S
\b
\B
\d
\D
\w
\W
\u
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
转义符可以将特殊字符转义
- 字符集
[字符范围]
1
匹配中文: [\u4e00-\u9FA5]
- 量词
前面的规则出现的次数
*
+
?
{n}: 匹配n个
{n,}: 匹配>=n个
{n,m}: 匹配n-m个
1
2
3
4
5
6
2
3
4
5
6
# JS中的应用
js中,正则表达式表现为一个对象,该对象是通过构造函数RegExp
# 创建正则对象
- 字面量模式
- 构造函数模式
# 正则实例成员
- global
- ignoreCase
- multiline
- source
- test方法:验证某个字符串是否满足规则
- exec方法:execute,执行匹配,得到匹配结果。
正则表达式,默认情况下,适用贪婪模式 在量词后,加上?,表示进入非贪婪模式
# 字符串对象中的正则方法
- split
- replace
- search
- match
# 进阶
# 捕获组
用小括号包裹的部分叫做捕获组,捕获组会出现在匹配结果中
捕获组可以命名,叫做具名捕获组
非捕获组
# 反向引用
在正则表达式中,使用某个捕获组,\捕获组编号
# 正向断言(预查)
检查某个字符后面的字符是否满足某个规则,该规则不成为匹配结果,并且不称为捕获组
# 负向断言(预查)
检查某个字符后面的字符是否不满足某个规则,该规则不成为匹配结果,并且不称为捕获组
← json异步加载