/ / невалидна група Regex [дубликат] - javascript, regex

невалидна група Regex [дубликат] - javascript, regex

Опитвам се да създам следното повторно използване на Javascript.

(?<!\)(?:\{2})*\(?!\)([5-9]|[1-9]d)

Въпреки това, като направите това, това ми дава невалидна групова грешка в конзолата.

regExp = new RegExp("(?<!\)(?:\{2})*\(?!\)([5-9]|[1-9]d)", "gi");

Не разбирам откъде идва точно проблемът. Оценявам помощта.

Благодаря ти

EDIT: След няколко изследвания открих, че Javascript не поддържа lookbehinds.

Така че идва грешката (?<!\), Обърнете се към този ново зададен въпрос, за да намерите алтернативен начин да изпълните същата работа. Как да проверя за нечетни числа на backslash в regex използвайки Javascript?

Отговори:

4 за отговор № 1

Ако изразът ви не е динамичен, просто използвайте буквално:

var regExp = /(?<!\)(?:\{2})*\(?!\)([5-9]|[1-9]d)/gi;

Проблемът е, че вашите избяга последователности \ в рамките на низ свърши рендиране знаци вътре в regEx, които на свой ред завършват да избягват скоби, те не трябва да водят до неопределени групи.