[英]Capturing repeated group in Regex PHP
我正在尝试捕获PHP正则表达式中的重复组。
我正在使用的表达式是: (?:.*\\s|^)@\\[(\\d+)\\]
,它将匹配以下内容:
some text here @[2] some more text
并在比赛中返回2。
现在我要匹配:
some text here @[2] some more text @[3] more text
然后返回[2,3]。 现在,我只能用以下表达式返回3(最后一个元素): (((?:.*\\s|^)@\\[(\\d+)\\])+)
。
我已经读过这个和这个 ,但是我无法让那些使用preg_match或preg_match_all的人工作。
任何对此的投入将不胜感激。
我建议这个更简单的解决方案:
$string = 'some text here @[2] some more text @[3] more text';
preg_match_all('/@\[(\d+)\]/', $string, $matches);
$matches = $matches[1];
$result = '[' . implode(', ', $matches) . ']';
echo $result; // [2, 3]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.