通过regexp构造函数创建的对象匹配Javascript regexp中的空格

通过regexp构造函数创建的对象匹配Javascript regexp中的空格,javascript,regex,Javascript,Regex,请检查一下这个代码。为什么通过不同的方式(通过/regex/literal和通过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 "fa

请检查一下这个代码。为什么通过不同的方式(通过/regex/literal和通过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"

我的问题到处都找不到答案。谢谢

您需要将反斜杠转义,因为它位于字符串中:

var pat2 = new RegExp("\\s");