[英]Is handling of curly braces in javascript regex is the same across all modern browsers?
JavaScript正则表达式中的大括号用于表示量词。 所以写作
a{2,4}
将匹配aa,aaa和aaaa。 但是如果你错误地输入这个量词,就像这样:
x{1,x}
它将匹配文字文本“x {1,x}”,至少在Firefox中。
这种行为在现代浏览器中是否常见?
ECMA标准禁止这种行为,并要求撤销支架。
(背景:我必须在工作中为javascript正则表达式编写一个解析器。)
我不知道JavaScript和浏览器,但这是我期望的行为,我在过去的正则表达式中看到过。
所以我测试了不同的正则表达式引擎的行为:
C# :表现得这样
Perl :表现得这样
Python :表现得这样
PHP :表现得这样
Java :抛出异常
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.