一、介绍
正则表达式用于匹配 字符串中字符 组合的模式,它也是对象
二、语法:
1、定义规则
定义正则表达式语法:
const 变量名 = /表达式/
其中/ / 就是正则表达式的字面量
2、根据规则查找
判断是否有符合规则的字符串
test() 方法
用来查看正则表达式与指定的字符串是否匹配
//示例
const arr = '鼠鼠大概是活不长了'
const s = /鼠鼠/
console.log(s.test(arr))
//结果为 true
const s1 = /鼠鼠1/
console.log(s1.test(arr))
//结果为 false
3、检索(查找)符合规则的字符串
语法:
exec()方法 在一个指定字符串中 执行一个搜索匹配
//示例
const arr = '鼠鼠吃了灯油下不来,大概是活不长了'
const a = /鼠鼠/
const rr = a.exec(arr)
console.log(rr) //返回的是一个数组['鼠鼠', index: 0, input: '鼠鼠吃了灯油下不来,大概是活不长了', groups: undefined]
console.log(rr[0]) //返回的是 鼠鼠
三、元字符
是一些具有特殊含义的字符,可以极大提高了灵活性和强大的匹配功能
比如英文26个英文字母,我们使用元字符 [a-z] 简洁和灵活
1、边界符
表示位置,必须用什么开头 用什么结尾
^ 表示以 xxx 开头 ^符号放在开头
$ 表示以 xxx 结尾 $符号放在结尾
如果 ^ 和 $ 在一起,必须是精确匹配
2、量词
表示重复的次数
用来设置某个模式出现的次数
* 重复零次或者更多次 >=0次
+ 重复一次或者更多次 >=1次
? 重复零次或一次 大于等于0 同时小于等于1
{n} 必须重复n次
{n,} 重复n次或者更多次 >=n
{n,m} 重复n次到m次 大于等于n 同时小于等于m
3、字符类
[ ] 表示匹配里面的任意一个字符
[a-z] 匹配a到z 其中 - 连字符, 表示匹配范围
[^a-z] 除了 a-z以外的字符 ^为取反符号
4、预定义类
\d 匹配0-9之间的任一数字,相当于[0-9]
\D 除所有0-9以外的字符 相当于[^0-9]
\w 匹配任意的字母、数字和下划线 相当于[A-Za-z0-9]
\W 除任意的字母、数字和下划线以外的字符 相当于[^A-Za-z0-9]
四、修饰符
i 表示不区分大小写
g 表示去全局匹配
默认情况下 正则表达式只能匹配满足条件的第一个字符
replace替换
字符串.replace(/正则表达式/,'替换的文本')