JS RegExp | Игнорировать совпадение, если перед ним стоит экранизирующий символ "\"
const str = "let{123} \let{777}";
str.match(/let\{.+?\}/g)
//input: [let{123}, let{777}]
Как мне получить только первое совпадение, которое без экр. символа - "let{123}"
Пробовал такие варианты:
str.match(/[^\\]let\{.+?\}/g) // let{123} \let{777}
str.match(/?([^\\])let\{.+?\}/g) // error
str.match(/(?<!\\)let\{.+?\}/g) // let{123} let{777}
Всем спасибо. Простите за явно глупый вопрос.
Ответы (1 шт):
Автор решения: Ainar-G
→ Ссылка
Ваш последний вариант работает, но вы допустили ошибку при создании строки, так как вы не экранируете знак обратной дроби:
const str = "let{123} \\let{777}";