在正则表达式文本中的字符类中使用/总是安全的
Is using a / within a character class in a regex literal always safe?
在JavaScript中使用正则表达式文字时,它是由/
分隔的,例如/^[a-z]$/
。
当在正则表达式中包含斜杠(即/^[a-z/]$/
)时,一切似乎都很好——我的IDE语法高亮器以及Firefox和Chrome的JS解析器都接受它
/
不需要在字符类中转义,或者只是一个开发人员友好的实现,因此不适用于所有浏览器,这是标准化的行为吗?
是的,这是由规范定义的(第25页):
RegularExpressionClass
::
[
RegularExpressionClassChars]
RegularExpressionClassChars
::
[空]
RegularExpressionClassCharsRegularExpressionClassCharRegularExpressionClassChar
::
RegularExpressionNonTerminator 但不是]
或'
之一 RegularExpressionBacklashSequenceRegularExpressionNonTerminator
::
源字符 但不是 行终止符
相反,正常RegularExpressionChar定义为:
RegularExpressionChar
::
RegularExpressionNonTerminator但不是'
、/
或[
之一
RegularExpressionBacklashSequence
RegularExpressionClass
因此,在字符类中,您可以自由使用/
,而无需转义。
- java.net和javascript之间正则表达式的差异
- Grunt匹配正则表达式
- 不同浏览器中的空白字符正则表达式行为
- 正则表达式在字符串中找到base64
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- 调用正则表达式匹配的函数
- 使用正则表达式评估电子邮件地址时出现性能问题
- Javascript 正则表达式 : ^[^/s/]+[a-z]{1,}[0-9]*[-_]*[^/][
- JavaScript正则表达式文本与RegExp对象
- 正则表达式只允许 x 个整数
- 使用正则表达式将输入格式设置为单字符逗号、单字符逗号等
- 改进用于验证付款金额的正则表达式
- 正则表达式与数字中的第二个点匹配
- 键按正则表达式以查找具有负值的小数
- 一个正则表达式,用于从JS中的HTML标记中删除id、样式和类属性
- 将po-box javascript正则表达式转换为c#regex
- 在mongoose中使用正则表达式在对象数组中进行查询搜索
- 在正则表达式文本中的字符类中使用/总是安全的
- asp经典正则表达式:字符串到URL安全
- 寻找一个PHP正则表达式或函数来过滤使用的变化.一封安全邮件