为了账号安全,请及时绑定邮箱和手机立即绑定

ggrgrgregerg

<?php $subject = "my email is spark@imooc.com"; //在这里补充代码,实现正则匹配,并输出邮箱地址 $a = '/\w+\s+\w+\s+\w+\s+\w+@\w+\.\w+/'; preg_match($a,$subject,$c); echo $c[0]; 为什么不对!我在本地测试可以

正在回答

2 回答

<?php

$subject = "my email is spark@imooc.com";
//在这里补充代码,实现正则匹配,并输出邮箱地址
$pattern = '/[\w\-]+@\w+\.\w+/';
preg_match($pattern, $subject, $matches);
echo $matches[0];
?>

解释一下'/[\w\-]+@\w+\.\w+/':判断是否为有效的Email格式.
^ 匹配一行的开头
\w 指数字英文加下划线
\.指一个字符"."
\- 指一个字符"-"
[\w\.\-] 指一个范围 即 数字、字母、下划线、字符"."、字符"-"
+ 量词 一个或多个
[\w\.\-]+ 指一个或多个[\w\.\-] 这样的字符,如 "aaa" "-ab" "c" "s._-l"
@ 指一个字符"@"
量词 一个或零个
* 量词 零个或多个


0 回复 有任何疑惑可以回复我~

因为$a = '/\w+\s+\w+\s+\w+\s+\w这一块太复杂了可以弄的更加简便些,虽然结果是一样,我只能给出这样的解释了

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
PHP进阶篇
  • 参与学习       181829    人
  • 解答问题       2577    个

轻松学习PHP中级课程,进行全面了解,用PHP快速开发网站程序

进入课程

ggrgrgregerg

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信