为什么$match[1]的值是:steven jobs

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

qq_云上_0

2017-06-05 10:54

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

$str = "name:steven jobs";

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

echo $match[1]; //结果为:steven jobs

print_r($match);


写回答 关注

3回答

  • 有为小青年丶
    2017-07-04 20:33:16
    int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int$offset = 0 ]]] )
    // $pattern 要搜索的模式,字符串类型。
    // $subject 输入字符串
    // $match 如果提供了参数matches,它将被填充为搜索结果。 $matches[0]将包含完整模式匹配到的文本, $matches[1] 将包含第一个捕获子组匹配到的文本,以此类推。


  • Lydiar3308665
    2017-06-21 00:23:23

    preg_match函数返回值数组中,首先返回匹配的字符串,你的代码中有一个匹配,所以match[0]是name:steven jobs,而后返回的是分组,你的表达式中就一个分组,匹配结果为steven jobs,所以match[1]的值为steven jobs.

  • qq_夏日香气_2
    2017-06-05 16:14:24

    $match[1]的索引是$str,而$str的属性值是steven jobs

PHP进阶篇

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

181835 学习 · 2577 问题

查看课程

相似问题