比如下面的正则语句
re = /^(\s+)xxx\1$/;
re = new RegExp("^(\s+)xxx\1$");
re = new RegExp('^(\s+)xxx\1$');
我这三种写法对吗?好像应该对凡斜杠有所处理,有的应该是两个,但是我有点分不清楚了。
比如下面的正则语句
re = /^(\s+)xxx\1$/;
re = new RegExp("^(\s+)xxx\1$");
re = new RegExp('^(\s+)xxx\1$');
我这三种写法对吗?好像应该对凡斜杠有所处理,有的应该是两个,但是我有点分不清楚了。
13 回答12.8k 阅读
7 回答1.9k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
6 回答875 阅读✓ 已解决
6 回答1k 阅读
2 回答1.3k 阅读✓ 已解决
第一种写法如果你用
/^(\s+)xxx\1$/.test(" xxx ")
是返回true的;第二三两种写法如果使用
new RegExp("^(\s+)xxx\1$").test(" xxx ")
是返回false的。但是你要用
new RegExp("^(\\s+)xxx\\1$").test(" xxx ")
却是正常的。这是因为字符串里面的“\”是需要转义的,所以需要加二个 "\"。