1 回答

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊
是否有某些原因您不能使用或不想使用String.prototype.replace?這正是它的意圖:匹配和替換。exec
只查找匹配項(xiàng),不替換。
*編輯:既然你說(shuō)你想要低級(jí)訪問(wèn),我正在改變我的例子來(lái)展示如何使用回調(diào)函數(shù),并做一些花哨的東西,比如獲取匹配的索引并將其添加到方括號(hào)中括號(hào)。我還在匹配的單詞之前和之后添加了空白捕獲,以顯示在此方法中如何處理多個(gè)捕獲組。
const text = 'nonsense nonsense relevant nonsense nonsense relevant nonsense nonsense';
const matcher = /(\s+)(relevant)(\s+)/gi;
function cb(match, p1, p2, p3, i, fullTxt) {
return p1 + '(' + p2 + ')['+i+']' + p3;
}
let desiredResult = text.replace(matcher, cb);
console.log(desiredResult);
添加回答
舉報(bào)