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

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

慕丝9052313

2018-10-02 00:17

<?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); 


写回答 关注

2回答

  • 小明菌
    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

    添加括号后决定了作用域

PHP进阶篇

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

181733 学习 · 2575 问题

查看课程

相似问题