echo $match[0]; //$match[0]和$match[1]区别在哪?

来源:3-4 贪婪模式与懒惰模式

web_東

2016-12-11 00:51

<?php

//请修改变量p的正则表达式,使他能够匹配str中的姓名

$p = '/[\w]+(\:[a-z]+\s[\w]+)/';

$str = "name:steven jobs";

preg_match($p, $str, $match);

echo $match[0]; //$match[0]和$match[1]区别在哪?


写回答 关注

2回答

  • wsytz
    2016-12-11 12:00:21
    已采纳

    $match是数组,$match[0]是其第一个元素,是取回的全匹配元素,$match[2]是其第二个元素,是()中指定要的元素。 你可以使用$str="other words name:steven jobs others thing"; 测试print_r($match); 的输出,会更清晰:

    <?php

    $p = '/[\w]+\:([a-z]+\s[\w]+)/i';

    $str="other words name:steven jobs others thing";

    preg_match($p, $str, $match);

    print_r($match);

    ?>


    输出:
    Array
    (
       [0] => name:steven jobs
       [1] => steven jobs
    )

    web_東

    非常感谢!

    2016-12-11 22:31:43

    共 1 条回复 >

  • 完美世界大牛
    2017-03-20 14:24:25

    是()中指定要的元素是什么意思?

PHP进阶篇

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

181835 学习 · 2577 问题

查看课程

相似问题