正则表达式
一般用于:查找 替换 验证 分割
目录
一、正则表达式的创建方式
1.字面量创建
let reg = /\d+/g; //字面量创建
2.构造函数创建
let reg = new RegExp('\\d+', 'g'); //构造函数创建
注意 :构造函数创建方法,第一个参数前面需要加上 “ \ ” 进行转义
二、正则表达式的匹配方法
1.正则对象底下的方法
1.test - - 在str中是否能匹配到对应字符,返回 true false
let str = 'ab123dd456ff435f';
let reg = /\d+/g
console.log(reg.test(str)); //true
let ref = /ccc/g
console.log(ref.test(str)); //false
2.exec - - 查找方式与lastindex属性有关 通过lastindex记录下一次匹配的位置
let str = 'ab123dd456ff435f';
let reg = /\d+/g
console.log(reg.exec(str)); //123
console.log(reg.lastIndex); // 5 ->下标
console.log(reg.exec(str)); //456
console.log(reg.exec(str)); //435
2.字符串方法
- split - - 根据匹配字符将字符串 拆分 , 返回 数组
let str = 'ab123dd456ff435f';
let arr = str.split(/\d+/);
console.log(arr);//["ab", "dd", "ff", "f"]
- search - - 返回查找到第一的索引值(忽略全局匹配) 找不到返回 -1
let str = 'ab123dd456ff435f';
let reg = /d/g;
console.log(str.search(reg));// 5
- match - - 返回匹到的字符 (区分全局或非全局配匹配)
let str = 'ab123dd456ff435f';
let reg = /\d+/;
console.log(str.match(reg)); // [123] 非全局匹配
let ref = /\d+/g;
console.log(str.match(ref)); //["123", "456", "435"] 全局匹配
- replace - - 替换 (两种写法 )
// 第一种写法
let reg = /\d+/g;
console.log(str.replace(reg,'*')); // ab*dd*ff*f
// 第二种写法
str