gpt4 book ai didi

javascript - 在正则表达式文字中使用字符类中的/总是安全的吗?

转载 作者:数据小太阳 更新时间:2023-10-29 04:33:47 26 4
gpt4 key购买 nike

在 JavaScript 中使用正则表达式时,它是 / 分隔的,例如/^[a-z]$/

当在该正则表达式中包含斜杠时,即 /^[a-z/]$/,一切似乎都工作正常 - 我的 IDE 的语法高亮器和 Firefox 和 Chrome 的 JS 解析器都接受它。

/ 不需要在字符类中进行转义是标准化行为,还是只是一种对开发人员友好的实现,因此无法在所有浏览器中工作?

最佳答案

是的,这是由 the specification 定义的(第 25 页):

RegularExpressionClass ::
    [ RegularExpressionClassChars ]

RegularExpressionClassChars ::
    [empty]
    RegularExpressionClassChars RegularExpressionClassChar

RegularExpressionClassChar ::
    RegularExpressionNonTerminator but not one of ] or \    RegularExpressionBackslashSequence

RegularExpressionNonTerminator ::
    SourceCharacter but not LineTerminator

相比之下,正常的 RegularExpressionChar 定义为:

RegularExpressionChar ::
    RegularExpressionNonTerminator but not one of \ or / or [
    RegularExpressionBackslashSequence
    RegularExpressionClass

所以在字符类中你可以自由使用/而不需要转义。

关于javascript - 在正则表达式文字中使用字符类中的/总是安全的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17421167/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com