How can I not match emails with emai regular expressions ;? Phpfunction & nbsp; check ($ str) {$ re ([a-z0-9 _-] +) @ 1 (. [a-z0-9 _-]) + I; preg_match ($ re, $ str, $ result); return & nbsp; $ result;} var_dump (check (123456 @ qq. emai regular
In this case, the email cannot be matched.
Function check ($ str ){
$ Re = '/([a-z0-9 _-] +) @ \ 1 (\. [a-z0-9 _-]) +/I ';
Preg_match ($ re, $ str, $ result );
Return $ result;
}
Var_dump (check ('1970 @ qq.com '));
?>
------ Best solution --------------------
According to your regular expression, mailbox changed to 123456@123456.com can match.
------ Other solutions --------------------
Your @ \ 1 is backward reference. Of course there will be problems.
$ Re = '/([a-z0-9 _-] +) @ ([a-z0-9 _-] +) (\. ([a-z0-9 _-]) +/I ';
------ Other solutions --------------------
Reference:
According to your regular expression, mailbox changed to 123456@123456.com can match.
It seems that @ cannot be matched exactly! If you know which email suffixes you mainly match, it's easy.