Необходимо обработать входную строку следующим образом -
// Input string -
'My pen cost is !!penCost!! manufactured in $$penYear$$ with colors !!penColor1!! and $$penColor1$$'
// Processed string
'My pen cost is <penCost> manufactured in <penYear> with colors <penColor1> and <penColor1>'
Хотя мне удалось сделать это с помощью l oop, но мне интересно знать подход RegEx. Это текущее состояние моего эксперимента (в нерабочем состоянии) -
const regex = /\b(\w*([a-zA-Z])|([\!]{2}[a-zA-Z][\!]{2})\w*)\b/g;
// str is holding the input string
str.replace(regex, (match) => {
return `<${match.substring(2, match.length - 2)}>`;
});
Я застрял на RegEx, чтобы правильно сопоставить слова, имеющие значение типа "$$ [a-zA-Z0-9] $ $ "or" !! [a-zA-Z0-9] !! ".
Мой подход состоит в комбинации совпадения слов и замены совпадений .