js使用正则match方法对字符串进行精确提取

前言:最近用到了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: 是指需要匹配的内容的开始位置

生活就是不断的积累~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章