使用正则表达式进行匹配

来源:3-5 使用正则表达式进行匹配

那谁很靠谱3587144

2017-03-23 11:57

<?php

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

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

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

echo $matches[0];

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


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


写回答 关注

2回答

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

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

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

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

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

    慕慕2044...

    为什么不能加上\s 把前面得字符串匹配上去?

    2017-07-31 17:03:52

    共 2 条回复 >

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

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

PHP进阶篇

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

181734 学习 · 2575 问题

查看课程

相似问题