我正在尝试使用http://www.regular-expressions.info/email.html中的正则表达式,特别是:
[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_var($email, FILTER_VALIDATE_REGEXP, array("options"=>array("regexp"=>$pattern)))
它会出现错误:
Warning: filter_var() [function.filter-var]: Unknown modifier '+'
有谁知道如何解决这个问题?
答案 0 :(得分:5)
你的正则表达式缺少分隔符。例如,在模式之前和之后插入分号将解决此问题。
但是,您应该使用filter_var($email, FILTER_VALIDATE_EMAIL)
,而不是推出自己的(incorrect)正则表达式。