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

时间:2011-08-11 14:53:36

标签: javascript regex

请查看此代码。为什么以不同的方式(通过 / 正则表达式 / 文字和 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"

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

1 个答案:

答案 0 :(得分:18)

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

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