js的正则RegExp的构造函数中,为什么\需要写成\\ ?

/*
* 匹配第一个"[bcat",不区分大小写
*/
var pattern1 = /\[bcat/i;
/*
* 与 pattern1 相同,只不过是使用构造函数创建的
*/
var pattern2 = new RegExp("\\[bcat", "i"); 

为什么下面的要两个\

阅读 1.7k
2 个回答

这是字符串的转义字符啊,类似于换行'\n',与正则无关

要知道正则里面有很多关键字都是以\开头的:

\w \d \s    word, digit, whitespace
\W \D \S    not word, digit, whitespace
\b \B    word, not-word boundary
\t \n \r    tab, linefeed, carriage return

如果不用反斜杠,如何区分关键字和真正的反斜杠字母呢。。。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题