请查看此代码。为什么以不同的方式(通过 / 正则表达式 / 文字和 RegExp 构造函数)创建相同的正则表达式会导致不同的结果?为什么第二个模式不匹配 str 中的空格?
var str = " ";
var pat1 = /\s/;
document.writeln(pat1.test(str)); // shows "true"
var pat2 = new RegExp("\s");
document.writeln(pat2.test(str)); // shows "false"
在任何地方找不到我的问题的答案。感谢
答案 0 :(得分:18)
你需要转义反斜杠,因为它在字符串中:
var pat2 = new RegExp("\\s");