php - 警告 : filter_var() [function. 过滤器变量]:未知修饰符 '+'

标签 php regex

我正在尝试使用 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 '+'

有人知道如何解决这个问题吗?

最佳答案

您的正则表达式缺少分隔符。例如,在模式之前和之后插入分号可以解决此问题。

但是,您确实应该使用filter_var($email, FILTER_VALIDATE_EMAIL),而不是推出您自己的 ( incorrect ) 正则表达式。

关于php - 警告 : filter_var() [function. 过滤器变量]:未知修饰符 '+',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7293742/

相关文章:

c# - 正则表达式搜索单个 0 并添加逗号

python - 使用正则表达式增加版本号

html - 无法找出带换行符的正则表达式 - HTML

regex - 更改字符串以匹配正则表达式

php - 获取多对多表中的所有数据

php - 数据表 - 以 HTML <td> 元素形式返回列

php - mysql 触发器中遇到错误

php - Sylius 资源 403 访问被拒绝

正则表达式在文件中特定行的开头添加字符

php - fatal error : Call to undefined function oci_connect()