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);
int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int$offset = 0 ]]] ) // $pattern 要搜索的模式,字符串类型。 // $subject 输入字符串 // $match 如果提供了参数matches,它将被填充为搜索结果。 $matches[0]将包含完整模式匹配到的文本, $matches[1] 将包含第一个捕获子组匹配到的文本,以此类推。
preg_match函数返回值数组中,首先返回匹配的字符串,你的代码中有一个匹配,所以match[0]是name:steven jobs,而后返回的是分组,你的表达式中就一个分组,匹配结果为steven jobs,所以match[1]的值为steven jobs.
$match[1]的索引是$str,而$str的属性值是steven jobs
PHP进阶篇
181835 学习 · 2577 问题
相似问题