问答详情
源自:3-5 使用正则表达式进行匹配

使用正则表达式进行匹配

<?php

$subject = "my email is spark@imooc.com";

$p='/[\w\-]+@\w+\.\w+/';

preg_match($p,$subject,$matches);

echo $matches[0];

//在这里补充代码,实现正则匹配,并输出邮箱地址


为什么不会匹配到spark前面的字符?


提问者:那谁很靠谱3587144 2017-03-23 11:57

个回答

  • qq_丶丿_0
    2017-03-23 12:06:33
    已采纳

    正则表达式的匹配过程:根据正则表达式$p,

    从$subject的第一个字符m开始匹配,my之后遇到空格不匹配;

    从第二个字符y开始,之后遇到空格不匹配;

    从第三个字符开始,空格不匹配;依次类推,从spark到结束,符合正则表达式$p,所以返回邮箱地址

  • qq_丶丿_0
    2017-08-07 13:14:11

    \s是要匹配空白 ,\S才是匹配非空白