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

正在回答

2 回答

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

?>


这是我写的,也许还不够优化。你参考参考吧。如果有更优化的,还请不吝赐教。

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

Mext

<?php $subject = "my email is spark@imooc.com"; //在这里补充代码,实现正则匹配,并输出邮箱地址 $pattern = '/\w+@\w+.\w+/'; preg_match($pattern, $subject, $matches); echo $matches[0]; ?> 不加括号,更方便一些。
2014-10-28 回复 有任何疑惑可以回复我~
查看1条回复

你的正则写的不够优化。

1、邮箱的@前面怎么会有空格呢?

2、\w已经匹配字母或数字或下划线了,完全没必要写的那么麻烦。

3、邮箱的后缀不是只有.com和.cn。比如说.net、.gov、.org等等数十个之多。

4、print_r()此时会将整个数组打印出来,建议使用前一小节echo $matchs[键值]的方法。而且echo同比于print、printf、print_r()速度都快。


学习中遇到困难是难免的,千万别放弃。遇到问题自己多琢磨琢磨,也可以去网上查查解决方案和资料,慢慢来,别着急,别灰心。

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

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信