PHP:preg_匹配和组重复

PHP:preg_匹配和组重复,php,regex,preg-match,preg-match-all,preg-split,Php,Regex,Preg Match,Preg Match All,Preg Split,如何使用preg\u match(或者preg\u match\u all)获取组中所有匹配的对象 例如,我有^(?:,?\s*(?[a-z])+$,如果我应用于a,b,c,我得到: object array 0 : string "a, b, c" key: string "c" 1 : string "c" 我基本上需要的是geta,b和c。类似的东西(不一定喜欢): 有可能吗?更好的解决方案是什么?比赛结束后我真的需要把它分开吗?不,你不能那样嵌套它。但是,您

如何使用
preg\u match
(或者
preg\u match\u all
)获取组中所有匹配的对象

例如,我有
^(?:,?\s*(?[a-z])+$
,如果我应用于
a,b,c
,我得到:

object array
    0  : string "a, b, c"
    key: string "c"
    1  : string "c"
我基本上需要的是get
a
b
c
。类似的东西(不一定喜欢):


有可能吗?更好的解决方案是什么?比赛结束后我真的需要把它分开吗?

不,你不能那样嵌套它。但是,您可以手动构建阵列

$str = 'a, b, c';
preg_match_all("/(\w),?/", $str, $m);

// create array
$a = array(
    $str,
    'key' => $m[1]
);

print_r($a);
您也可以使用
preg\u split
去抓取这些元素

$m = preg_split('/\W+/', $str, PREG_SPLIT_NO_EMPTY);

不,你不能那样做。但是,您可以手动构建阵列

$str = 'a, b, c';
preg_match_all("/(\w),?/", $str, $m);

// create array
$a = array(
    $str,
    'key' => $m[1]
);

print_r($a);
您也可以使用
preg\u split
去抓取这些元素

$m = preg_split('/\W+/', $str, PREG_SPLIT_NO_EMPTY);

,\s*
上拆分,例如:

$array = preg_split("/,\\s*/", "a, b,   c,d,e");

,\s*
上拆分,例如:

$array = preg_split("/,\\s*/", "a, b,   c,d,e");