偶然发现了这一点,不知道是什么原因。JavaScript RegExp:为什么会导致双反斜杠(\)出错?
// Results in "Syntax error in regular Expression".
var re = RegExp('\\');
我知道构造函数函数需要一个字符串作为参数。并且反斜杠在字符串中用于转义具有特殊含义的字符。我知道我必须将\ d这样的字符转义为\\ d。
因此:正确的反斜杠应该被解释为一些正常的字符。
反而会引发错误。为什么?
任何人都可以解释这一点吗?
因为'/ \ /'是一个无效的正则表达式。如果你想要一个正则表达式来匹配一个反斜杠,你需要'/ \\ /'或'new RegExp('\\\\')' – Phil