Является ли обработка фигурных скобок в javascript regex одинаковым во всех современных браузерах?
Кулистые фигурные скобки в JavaScript regex используются для обозначения кванторов. Итак, пишу
a{2,4}
будет соответствовать aa, aaa и aaaa. Но если вы ошиблись в этом кванторе, например:
x{1,x}
Он будет соответствовать буквальному тексту "x {1, x}", по крайней мере, в Firefox.
Является ли это обычным для современных браузеров?
Стандарт ECMA запрещает это поведение и требует ускорения фигурных скобок.
(Фон: мне нужно написать парсер для регулярных выражений javascript на работе.)
Ответы
Ответ 1
Я не знаю, для JavaScript и браузеров, но это поведение, которое я ожидал бы и которое я видел в прошлом в регулярных выражениях.
Итак, я тестировал разные механизмы регулярных выражений по их поведению:
-
С#: ведет себя таким образом
-
Perl: ведет себя таким образом
-
Python: ведет себя таким образом
-
PHP: ведет себя таким образом
-
Java: выдает исключение