前言:最近用到了js正則的match方法雖然很簡單但是還是發(fā)個文章吧證明我還在,哈哈
業(yè)務(wù)場景:比如給我們一個字符串讓我們提取中間指定的內(nèi)容,突然一聽很是頭疼,然后再仔細一想還是挺簡單的,比如
indexOf方法,我們可以用indexOf先確定具體的位置然后將其提取,這樣也是沒有什么毛病的,那有沒有別的方法呢,那就開始今天的重點,今天的主角就是match了。開講~
- 截取字符串前面的內(nèi)容
let str = "aaabbbccc";
tr = str.match(/(\S*)ccc/)[1];
console.log(str); //結(jié)果aaabbb
- 截取字符串中間的內(nèi)容
let str = "aaabbbccc";
str = str.match(/aaa(\S*)ccc/)[1];
console.log(str); //結(jié)果bbb
- 截取字符串后面的內(nèi)容
let str = "aaabbbccc";
str = str.match(/aaa(\S*)/)[1];
console.log(str); //結(jié)果bbbccc
通過match操作的結(jié)構(gòu)結(jié)構(gòu)類似這樣
const str = "aaabbbccc";
str = str.match(/aaa(\S*)/)[1];
console.log(str); //結(jié)果bbbccc
// 打印str.match(/aaa(\S*)/)
['aaabbbccc', 'bbbccc', index: 0, input: 'aaabbbcccf', groups: undefined]
使用match如果沒有匹配到內(nèi)容會返回null 不是數(shù)組哦記得做容錯
數(shù)組參數(shù)說明:
- 第一個值(這里指aaabbbccc): 是指整個字符串
- 第二個值(這里指bbbccc): 是指匹配到的字符串
- index: 是指需要匹配的內(nèi)容的開始位置
生活就是不斷的積累~