PHP-Perl兼容的regexp

PHP-Perl兼容的regexp,php,regex,validation,filter,email-validation,Php,Regex,Validation,Filter,Email Validation,如何打开这个regexp [a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])? 从本网站: 在filter\u VALIDATE\u regexp下的filter\u var函数中输入PHP所需的与Perl兼容的regexp 如果按原样将其添加到选项中,则会出现以下错

如何打开这个regexp

[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?
从本网站:

在filter\u VALIDATE\u regexp下的filter\u var函数中输入PHP所需的与Perl兼容的regexp

如果按原样将其添加到选项中,则会出现以下错误:
filter_var()[function.filter var]:未知修饰符“+”在…

中,您需要使用(
/
最常用)来包装表达式:


并逃逸正则表达式正文中出现的所有分隔符。你真的尝试过那个正则表达式吗?那很有效,谢谢,逃逸是必要的,DCoder是对的。@DCoder:我的错误,可以发誓它不是必需的。谢谢你的提醒!我希望那些否决这一点的人能解释一下,这样我就不会再犯同样的错误了。
/[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/