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}";
→ Ссылка