js使用正则match方法对字符串进行精确提取
2023-03-02 本文已影响0人
燕自浩
前言:最近用到了js正则的match
方法虽然很简单但是还是发个文章吧证明我还在,哈哈
业务场景:比如给我们一个字符串让我们提取中间指定的内容,突然一听很是头疼,然后再仔细一想还是挺简单的,比如
indexOf
方法,我们可以用indexOf
先确定具体的位置然后将其提取,这样也是没有什么毛病的,那有没有别的方法呢,那就开始今天的重点,今天的主角就是match
了。开讲~
- 截取字符串前面的内容
let str = "aaabbbccc";
tr = str.match(/(\S*)ccc/)[1];
console.log(str); //结果aaabbb
- 截取字符串中间的内容
let str = "aaabbbccc";
str = str.match(/aaa(\S*)ccc/)[1];
console.log(str); //结果bbb
- 截取字符串后面的内容
let str = "aaabbbccc";
str = str.match(/aaa(\S*)/)[1];
console.log(str); //结果bbbccc
通过match操作的结构结构类似这样
const str = "aaabbbccc";
str = str.match(/aaa(\S*)/)[1];
console.log(str); //结果bbbccc
// 打印str.match(/aaa(\S*)/)
['aaabbbccc', 'bbbccc', index: 0, input: 'aaabbbcccf', groups: undefined]
使用match
如果没有匹配到内容会返回null
不是数组哦记得做容错
数组参数说明:
- 第一个值(这里指aaabbbccc): 是指整个字符串
- 第二个值(这里指bbbccc): 是指匹配到的字符串
- index: 是指需要匹配的内容的开始位置
生活就是不断的积累~