рони,
решаю подобную задачу. Можете объяснить, что вы делаете здесь?
RegExp.escape = s => s.replace(/[[\\^$.|?*+()]/gim, "\\$&");
и здесь
let found = parts.every(reg => {
reg.lastIndex = 0;
let match = reg.exec(value.slice(k));
if(match) {
k += match.index
arrFindIndex.push(k, k += match[0].length);
return true
}
return false;
});
if(found) {i = k; temp.push(...arrFindIndex)}
else i++;
}
let index = 0;
for (let i = 0; i < temp.length; i += 2){
result.append(
value.slice(index, index = temp[i]),
mark(value.slice(index, index = temp[i + 1]))
);
}
result.append(value.slice(index));
(комментарии возможно), если не трудно. Относительно недавно начала изучать JavaScript.