前言
前面我们介绍了正则匹配、操作符等内容,对应正则操作的方法一直没有系统介绍,本节我们就来看一下正则操作的方法。
方法
与正则相关的A方法总共有六种,包含四种字符串方法,两种正则方法。
正则
正则实例有以下两种方法去操作表示式:
- test():返回布尔值,用来检测字符串是否符合正则表达式。
const reg = /\d/;
const str = '123';
console.log(reg.test(str)); //true
- exec():该方法跟match类似,用来搜索表达式,返回匹配的结果。匹配结果是个数组,第一个元素是匹配字符,如果有捕获内容,第二个就是捕获内容,依次类推,然后是下标;如果没有匹配,则返回为null。
const reg = /\d/;
const str = 'a';
console.log(reg.exec(str)); //null
这两种操作方法中,test用的频率比较高。
字符串
字符串则有四种:
- replace():替换匹配到的字符,该方法能接收正则作为参数,正则表达式让该方法作用更加广泛,比如全局替换。
const reg = /\d/g;
const str = '123';
console.log(str.replace(reg,'a')); //aaa
- match():搜索正则表达式,返回具体的匹配结果。结果有两种形式,如果不含g,返回匹配的数组,形式跟exec返回的一样;含有g时,返回所有匹配字符组成的数组。
const reg = /\d/g;
const str = '123';
console.log(str.match(reg)); //['1', '2', '3']
- search():查找与正则相匹配的字符串,返回对应的下标,如果没有匹配结果就返回-1。
const reg = /\d/;
const str = 'ac1';
console.log(str.search(reg)); //2
需要注意一点,search与match都能用字符串当成参数,但是search与match都能把字符串变成正则表达式。上面例子中把reg变为一下字符串结果一样。
const reg = "\\d";
- split():按照对应的参数,将字符串分割成数组。开发过程中我们用的最多的就是按照某个字符串去分割,当我们把字符串变成正则表达式也是可以的。
const reg = /\d/;
const str = 'a1b2c';
console.log(str.split(reg)); //['a', 'b', 'c']
下次使用split的时候可以考虑一下正则。
总结
以后就是正则六种方法,常用的test、replace、match的参数、返回结果我们要牢记。