Regular expression not working correctly. I need to mark part of string, but I don't know how it is do
const markPartOfString = (string, substrings) => {
if (!substrings) return string;
const parts = substrings.split(',').map(str => str.trim());
let markedString = string;
parts.forEach(part => {
const regex = new RegExp(`\\b${part}\\b`, 'gi');
markedString = markedString.replace(regex, match => `<mark>${match}</mark>`);
});
return markedString;
}
//Expected result
console.log(markPartOfString("wfo test3", "wfo test, wfo test3, wf te")); // <mark>wfo</mark><mark>test3</mark>
console.log(markPartOfString("wfo test", "wf")); // <mark>wf</mark>0 test
console.log(markPartOfString("wfo test", "wf te")); // <mark>wf</mark>o <mark>te</mark>st
console.log(markPartOfString("wfo test", "wfo")); // <mark>wfo</mark> test
console.log(markPartOfString("wfo test", "o st")); // wf<mark>o</mark> <mark>st</mark>est