Почему это регулярное выражение вызывает ошибку javascript

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

Error:66SyntaxError: Unrecognized token '\'
2 ответа

При вызове 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}/;


Я думаю, что регулярное выражение должно быть:

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

licensed under cc by-sa 3.0 with attribution.