前言:最近用到了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: 是指需要匹配的內容的開始位置
生活就是不斷的積累~