preg_match_all 只显示有问题的外部组的查询

preg_match_all query to only display the outer group having issues

我不知道如何只显示预查询的外部组级别,我给你举个例子。

preg_match_all('/start(.*?)end/', $input, $matches);

此输入 start1 start2 2end 1end 产生此输出 start1 start2 2end

如您所见,它没有正确分组 - 我做错了什么?

也许你需要.* 贪婪中的点,而不是偷懒。例如:

$input = "blah blah start1 hello start2 blah 2end 1end";
preg_match_all('/start(.*)end/', $input, $matches);
print_r($matches[0][0]);

这会打印:

start1 hello start2 blah 2end 1end