在Javascript regexp中按对象匹配空格,通过RegExp构造函数创建

And*_*rew 6 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 "false"
Run Code Online (Sandbox Code Playgroud)

在任何地方找不到我的问题的答案.谢谢

Sea*_*ght 18

你需要转义反斜杠,因为它在一个字符串中:

var pat2 = new RegExp("\\s");
Run Code Online (Sandbox Code Playgroud)