通过 RegExp 构造函数创建对象,在 JavaScript 正则表达式中匹配空格。

6

请查看这段代码。为什么使用不同的方式创建相同的正则表达式(通过/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个回答

19

由于反斜杠在字符串中,因此您需要对其进行转义:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接