问答详情
源自:3-4 贪婪模式与懒惰模式

$p加了括号和不加括号为什么会导致$match数组元素个数不一样呢?

<?php

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

$p = '/(\w+\s\w+)/';//加括号,$match有两个

$p='/\w+\s\w+/';//不加括号,$match有就只有一个

$str = "name:steven jobs";

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

print_r($match); 


提问者:慕丝9052313 2018-10-02 00:17

个回答

  • 小明菌
    2021-07-16 10:28:48

    $p = '/\w+:(\w+\s)(\w+)/';

    $str = "name:steven jobs";

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

    echo $match[1]."<br />"; //结果为:steven jobs

    var_dump($match);



    括号的作用,运行一下这个就知道了。

  • 慕码人4209688
    2018-10-02 16:46:51

    添加括号后决定了作用域