Подтвердить что ты не робот

Является ли обработка фигурных скобок в javascript regex одинаковым во всех современных браузерах?

Кулистые фигурные скобки в JavaScript regex используются для обозначения кванторов. Итак, пишу

a{2,4}

будет соответствовать aa, aaa и aaaa. Но если вы ошиблись в этом кванторе, например:

x{1,x}

Он будет соответствовать буквальному тексту "x {1, x}", по крайней мере, в Firefox.

Является ли это обычным для современных браузеров?

Стандарт ECMA запрещает это поведение и требует ускорения фигурных скобок.

(Фон: мне нужно написать парсер для регулярных выражений javascript на работе.)

4b9b3361

Ответ 1

Я не знаю, для JavaScript и браузеров, но это поведение, которое я ожидал бы и которое я видел в прошлом в регулярных выражениях.

Итак, я тестировал разные механизмы регулярных выражений по их поведению:

  • С#: ведет себя таким образом

  • Perl: ведет себя таким образом

  • Python: ведет себя таким образом

  • PHP: ведет себя таким образом

  • Java: выдает исключение