一尘不染

使用preg_match_all()获得重复的比赛

php

我正在尝试使所有子字符串与乘数匹配:

$list = '1,2,3,4';
preg_match_all('|\d+(,\d+)*|', $list, $matches);
print_r($matches);

此示例按预期返回最后一个匹配项[1]

Array
(
    [0] => Array
        (
            [0] => 1,2,3,4
        )

    [1] => Array
        (
            [0] => ,4
        )

)

但是,我希望所有的字符串都由匹配(,\d+),以得到如下内容:

Array
(
    [0] => ,2
    [1] => ,3
    [2] => ,4
)

有没有办法通过单个功能来做到这一点preg_match_all()


阅读 307

收藏
2020-05-29

共1个答案

一尘不染

根据Kobi:

PHP不支持捕获同一组

因此,这个问题没有解决方案。

2020-05-29