Php 行中正则表达式组的重用

Php 行中正则表达式组的重用,php,regex,Php,Regex,我尝试重用正则表达式组 我所拥有的: Other Stuff Other Stuff Anker: 'Result1' 'Result2' 'Result3' 'Result4' 'ResultN' Other Stuff Other Stuff 我想要的是: $aVariable = [Result1, Result2, Result3, Result4, ResultN]; 我所尝试的: Anker:(?: '(.*?)')+ (相信我,很多其他正则表达式,但我不明白。) 在一行中获

我尝试重用正则表达式组

我所拥有的:

Other Stuff 
Other Stuff
Anker: 'Result1' 'Result2' 'Result3' 'Result4' 'ResultN'
Other Stuff
Other Stuff
我想要的是:

$aVariable = [Result1, Result2, Result3, Result4, ResultN];
我所尝试的:

Anker:(?: '(.*?)')+
(相信我,很多其他正则表达式,但我不明白。)

在一行中获取多个元素的正确方法是什么


提前谢谢

尝试下面的
\G
基于锚点的正则表达式

$re = "/(?:^Anker:|\\G(?!^))\\h*'([^']*)'/m";
$str = "Other Stuff \nOther Stuff\nAnker: 'Result1' 'Result2' 'Result3' 'Result4' 'ResultN'\nOther Stuff\nOther Stuff";

preg_match_all($re, $str, $matches);
print_r($matches[1]);

您运行的是哪种语言?目前我正在regex buddy中运行此语言,它与语言无关。我对正则表达式感兴趣,而不是对特定语言的实现感兴趣如果您使用的是C#,那么使用
捕获
集合非常容易。请在问题中添加您的语言标签。在这里,您可以尝试使用RegexBuddy:,(请参阅RegexStorm.net上的Tables选项卡)。Regex依赖于语言/工具。有些语言不支持某些功能,有些语法因语言而异,有些语言提供的功能如仅查找第一个匹配项或匹配整个字符串而不是其中的一部分。您想要的实际上并不清楚。一个简单的查找所有
“/(?先生,你应该得到一个徽章!这个示例不需要任何断言。
(?:^Anker:|\G)\h*([^']*)”
:-)