为什么/} /是javascript中的有效正则表达式?

前端之家收集整理的这篇文章主要介绍了为什么/} /是javascript中的有效正则表达式?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

/} /是JS中的有效正则表达式:

alert('}}}'.replace(/}/g,"!"))

但是,the ECMA standard似乎不允许:

PatternCharacter ::SourceCharacter but not any of:
      ^ $\ . * + ? ( ) [ ] { } |

为什么以上工作?这项功能是否得到普遍支持?是否记录在任何地方?

最佳答案
http://www.regular-expressions.info/characters.html

Most regular expression flavors treat the brace { as a literal
character,unless it is part of a repetition operator like {1,3}. So
you generally do not need to escape it with a backslash,though you
can do so if you want. An exception to this rule is the
java.util.regex package: it requires all literal braces to be escaped.

似乎javascript不是例外.

猜你在找的JavaScript相关文章