<分区>
标题总结了它。我在使用 new RegExp()
的正则表达式文字和构造函数之间转义反斜杠时遇到了一个奇怪的差异,我很好奇它背后的原因。
我试图在构造函数中转义括号 (
,如下所示:
var search = new RegExp('/(', 'g');
var result = "(test)".match(search);
但这一直返回错误。匹配在文字 /\(/g;
中运行良好,但在构造函数中我最终不得不做这样的事情:
search = new RegExp('\\(', 'g');
有人可以向我解释为什么转义反斜杠需要构造函数中的转义反斜杠本身,而不是文字吗?