我直接从RegExr获得了表达式,但PHP在=
"/[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/"
表达式用于匹配电子邮件地址。
答案 0 :(得分:3)
您使用/
作为标记模式开始和结束的分隔符,但随后也在模式中使用了该字符。您必须使用不同的分隔符,或在模式中转义它的实例。如果你想逃避等号,那么你使用了错误的斜线。
答案 1 :(得分:2)
转义=
之前的斜杠(以及该表达式中的其他斜杠)。您使用/
作为分隔符,因此如果它出现在模式中,则必须对其进行转义。
"/[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/"
那么应该有用。
答案 2 :(得分:1)
您使用/
作为分隔符。正则表达式中有两个/
未转义。将它们转义为\/
:
"/[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/"
^^ ^^