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"
我基本上需要的是geta
,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");