(最好3点一点一点解释,非常感谢!)求解啊啊啊$p = '/[\w\.\-]+@[a-z0-9\-]+\.(com|cn)/';

来源:3-3 元字符与转义

_Day_Day_Up_

2016-02-18 15:10

//下面的\w匹配字母或数字或下划线。
$p = '/[\w\.\-]+@[a-z0-9\-]+\.(com|cn)/';
$str = "我的邮箱是Spark.eric@imooc.com";
preg_match($p, $str, $match);
echo $match[0];

这个是什么意思啊,晕了。

$p='/[\w]+\.[\w]+\@[a-z0-9]+\.(com|cn)/';按照我理解的,我写出这样了咯,上面那个看不懂

  1. 为什么要加\-

  2. 为什么@前不用加\      

  3. -不是表示标记字符范围么?加了 \应该就表示-字符啊, 但是我的邮箱那句没有- 字符吧?



写回答 关注

1回答

  • 慕哥2478126
    2016-02-18 15:23:01

    一些特殊字符比如.、(、)、之类的要加\让他们转意

PHP进阶篇

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

181728 学习 · 2575 问题

查看课程

相似问题