javascript regex对花括号的处理在所有现代浏览器中都是相同的
Is handling of curly braces in javascript regex is the same across all modern browsers?
JavaScript regex中的花括号用于表示量词。所以写
a{2,4}
将匹配aa, aaa和aaaa。但是如果你像这样输入错误的量词:
x{1,x}
它将匹配字面文本"x{1,x}",至少在Firefox中是这样。
这种行为在现代浏览器中常见吗?
ECMA标准禁止这种行为,并要求对大括号进行转义。
(背景:我必须在工作中为javascript正则表达式编写解析器。)
我不知道JavaScript和浏览器,但这是我所期望的行为,我过去在正则表达式中看到过。
所以我测试了不同的正则表达式引擎的行为:c# :这样的行为
Perl :这样的行为
Python :这样的行为
PHP :这样的行为
Java :将抛出一个异常
相关文章:
- 阻止浏览器对keydown事件作出反应,但不取消该事件
- 通过浏览器对表单自动填充做出反应
- 使用浏览器对 js 文件进行版本控制,以防止客户端使用旧的 js 文件
- 使用karma浏览器对AngularJS应用程序进行单元测试
- 如何测试浏览器对背景剪辑的支持:文本
- 如何检查浏览器对 HTML5 表单属性的支持
- 浏览器对停止即时传播的支持
- 如何检测浏览器对 :after 和 :before 的支持
- 浏览器对脚本 URL 的反应不一致
- Web 浏览器对看似格式错误的文件的容忍度
- 浏览器对选择器 API 的支持
- 使用javascript检查浏览器对字体的支持
- 检测浏览器对css属性的支持
- 浏览器对Angular材质的支持
- 通过浏览器对网页进行身份验证
- 浏览器对“数字集市”/“伪造”的支持程度如何?lib(原生JavaScript TLS实现)
- javascript regex对花括号的处理在所有现代浏览器中都是相同的
- 为什么不同的浏览器对JavaScript new Date(-105998400000)返回不同的结果?
- 谷歌浏览器对我的JS代码变得无响应
- 不同的浏览器对jQuery ajax调用得到不同的结果