Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么这个正则表达式在PHP中失败?_Php_Regex_Email - Fatal编程技术网

为什么这个正则表达式在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])?/" 那么,应该可以使用。将=前面

我直接从中获得表达式,但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-0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/"
                 ^^                                ^^