为什么这个正则表达式在PHP中失败?
我直接从中获得表达式,但PHP在=为什么这个正则表达式在PHP中失败?,php,regex,email,Php,Regex,Email,我直接从中获得表达式,但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])?/" 那么,应该可以使用。将=前面
表达式用于匹配电子邮件地址。将=前面的斜杠和表达式中的另一个斜杠转义。您使用/作为分隔符,因此,如果它出现在模式内部,则必须对其进行转义
"/[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/"
那么,应该可以使用。将=前面的斜杠和表达式中的另一个斜杠转义。您使用/作为分隔符,因此,如果它出现在模式内部,则必须对其进行转义
"/[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/"
那么应该可以使用。您使用/作为分隔符,标记模式的开始和结束,但在模式中也使用了该字符。您必须使用不同的分隔符,或者在模式中转义它的实例。如果要转义等号,则使用了错误的斜杠。使用/作为分隔符标记模式的开始和结束,但在模式中也使用了该字符。您必须使用不同的分隔符,或者在模式中转义它的实例。如果您想转义等号,则使用了错误的斜杠。您使用/作为分隔符。正则表达式中有两个/未转义。以\/的形式逃离它们:
您正在使用/作为分隔符。正则表达式中有两个/未转义。以\/的形式逃离它们:
"/[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/"
^^ ^^