Опитвам се да създам следното повторно използване на 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, които на свой ред завършват да избягват скоби, те не трябва да водят до неопределени групи.