为什么这个正则表达式会抛出一个javascript错误

时间:2012-03-21 02:09:03

标签: javascript regex

regexp = new RegExp(\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b);

Error:66SyntaxError: Unrecognized token '\'

2 个答案:

答案 0 :(得分:5)

调用new RegExp()时,必须将模式作为字符串传递。用引号括起来。

var regexp = new RegExp('\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b');

您也可以使用特殊的/pattern/分隔语法创建它,其中引用:

var regexp = /[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}/;

答案 1 :(得分:0)

我认为正则表达式应该是:

/\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/