как удалить все символы между <@ и > js
например, у меня есть строка: привет, <@122>. Мне нужно удалить все символы между <@ и >, включая сами <@ >, например:
Было: Привет, <@123> Стало: Привет,
Но если между <@ и > находится цифра 2, то удалять не нужно, например:
Было: Привет, <@2> Стало: Привет, <@2>
Ответы (2 шт):
Автор решения: Vasyl
→ Ссылка
Попробуйте:
'Привет <@2>'.replace(/<@.*>/g, (match) => match === '<@2>' ? match :'')
Автор решения: De.Minov
→ Ссылка
написал такую регулярку:
/(\<@[\d]+(?<!@2)\>)/gim
Она ищет совпадение по следующему шаблону <@[любое число, кроме 2]>, при совпадении удаляется весь шаблон, через метод .replace().
Тест:
const str = `Привет, <@123>
Привет, <@2>
Привет, <@22>
Привет, <@22>Привет, <@22>
Привет, <@TEST>
Привет, <@12322>
Привет, <@ASD>
Привет, <ASD>`;
console.log(str.replace(/(\<@[\d]+(?<!@2)\>)/gim, ''));