正则表达式的构造函数

<script>
var str="Give 100%!"; 
var patt1=/\w/;
document.write(str.match(patt1));
</script>

这里换成

var patt1=new RegExg("\w");

为什么会输出null

阅读 2.2k
2 个回答

字符串里面的反斜杠会被自动转义,所以你要在字符串中表示反斜杠本身,就必须要两个反斜杠来对它自己转义。

你可以运行下面的代码,看看它们的区别:

console.log(/\w/);
console.log(new RegExp("\w"));
console.log(new RegExp("\\w"));
var re = /\w+/;
var re = new RegExp('\\w+');

这两句是相等的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题