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

wfb*_*ale 1 javascript regex

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

Error:66SyntaxError: Unrecognized token '\'
Run Code Online (Sandbox Code Playgroud)

Mic*_*ski 5

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

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

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

var regexp = /[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}/;
Run Code Online (Sandbox Code Playgroud)