首页 > js里面正则对象与正则字符串中的反斜杠有什么区别

js里面正则对象与正则字符串中的反斜杠有什么区别

比如下面的正则语句

re = /^(\s+)xxx\1$/;
re = new RegExp("^(\s+)xxx\1$");
re = new RegExp('^(\s+)xxx\1$');

我这三种写法对吗?好像应该对凡斜杠有所处理,有的应该是两个,但是我有点分不清楚了。


第一种写法如果你用 /^(\s+)xxx\1$/.test(" xxx ") 是返回true的;
第二三两种写法如果使用 new RegExp("^(\s+)xxx\1$").test(" xxx ") 是返回false的。

但是你要用new RegExp("^(\\s+)xxx\\1$").test(" xxx ") 却是正常的。
这是因为字符串里面的“\”是需要转义的,所以需要加二个 "\"。

【热门文章】
【热门文章】