JavaScript中的RegExp / \ c /

时间:2018-02-09 04:24:19

标签: javascript

RegExp /\c/不会触发任何语法错误。

console.log(/\c/)

问题是为什么它不是语法错误。自语言规范以来,我猜是PatternDisjunctionAlternativeTermAtom\ AtomEscapeCharacterEscapeIdentityEscape,然后它到达SourceCharacter but not c,但不符合条件but not c

  

https://www.ecma-international.org/ecma-262/8.0/#sec-regular-expressions-patterns

我想知道我是不是错了。

1 个答案:

答案 0 :(得分:2)

我找到了。

\c\ AtomEscape替代品不匹配。这是对的。因此,\字母与ExtendedPatternCharacter匹配,c字母与ExtendedPatternCharacter字母匹配。

/^\x$/.test("x") //→ true
/^\c$/.test("c") //→ false
/^\c$/.test("\\c") //→ true