-
用来处理字符串得规则
- 只能处理字符串;
- 它是一个规则:可以验证字符串是否符合某个规则得(test),也可以把字符串中符合规则得内容捕获到(exec/match......);
-
正则得创建方式有两种
//1、字面量得创建方式(两个斜杆之间包起来得,都是用来描述规则得元字符) let reg1 = /\d+/; //2、构造函数模式创建 //两个参数:* 源字符串 * 修饰字符串,记住要 let reg2 = new RegExp("\\d+");
正则表达式由两部分组成得:
-
元字符:
-
量词元字符:设置出现得次数
1、 * 零到多次
2、 + 一道多次
3、 ?零次或者依次
4、 {n} 出现n次
5、 {n,}出现n到多次
6、 {n,m}出现n到m次
-
特殊元字符:单个或者组合在一起形成特殊含义
1、 \ 转义字符(普通->特殊 ->普通)
2、. 除了\n(换行符)以外得任意字符串
3、^ 以哪一个元字符作为开始
4、$ 以哪个元字符作为结尾
5、\n 换行符
6、\d 0到9之间得一个数字
7、\D 非0到9之间得一个数字(D大小写得意思死相反的)
8、\w 数字、字母、下划线中的任意一个字符
9、\s 一个空白字符(包括空格、制表符、换页符)
10、\t 一个制表符(tab键:四个空格)
11、\b 匹配一个单词的边界
12、x|y x或者y中的一个字符
13、[xyz] x或者y或者z中的一个字符
14、 [ ^xy] 除了x/y以外的任意字符串
15、[a-z] 指定a-z这个范围中的任意字符串
16、[ ^a-z] 除了a-z以外的任意字符串
17、() 正则中的分组
18、(?:) 只匹配不捕获
19、(?=) 正向预查
20、(?!) 负向预查
-
普通元字符:代表本身含义的
-
-
修饰符:
-
正则表达式常用的修饰符:img
i => ignoreCase 忽略单词大小写匹配
m=>multiline 可以进行多行匹配
g=>global 全局匹配
-