Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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 电子邮件中某些字母的Reg表达式_Php_Regex_Preg Match - Fatal编程技术网

Php 电子邮件中某些字母的Reg表达式

Php 电子邮件中某些字母的Reg表达式,php,regex,preg-match,Php,Regex,Preg Match,在下面的表达式中,它检查有效的电子邮件。我的问题是,我如何在@符号后的电子邮件地址中检查ppl | pplweb !preg_match("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email) $splitted_email = explode('@',$email); 谢谢您可以将$email变量拆分为数组的两个组件,并用@符号将其分隔 !preg_match("^[_a-z0-9-]

在下面的表达式中,它检查有效的电子邮件。我的问题是,我如何在@符号后的电子邮件地址中检查ppl | pplweb

!preg_match("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)
$splitted_email = explode('@',$email);

谢谢

您可以将
$email
变量拆分为数组的两个组件,并用@符号将其分隔

!preg_match("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)
$splitted_email = explode('@',$email);
然后在数组的第一个组件中按ppl/pp/web模式进行搜索

preg_match('(/ppl|pplweb/i)',$splitted_email[1]);

这样,代码可能会长一点,但短正则表达式更适合保存。

显然,您不太喜欢
.info
域持有者。更不用说博物馆了。说真的,这是一个糟糕的正则表达式。不要尝试使用regexen验证电子邮件地址。try
$splitted_email=explode(“@”,$email)
并匹配
$splitted\u电子邮件[1]
而不是
$splitted\u电子邮件[0]
。我对这个答案提交了一个编辑,等待同行审查。另外,正则表达式应该是
'/ppl | pplweb/'
。或者,如果需要不区分大小写的匹配:
”/ppl | pplweb/i'