preg_match_all
改为使用
preg_match_all("/(\d+)*\s?([A-Za-z]+)*/", "ABCd Abhe 123" $match);
对于每场比赛:
$match[i][0]
包含匹配的段
$match[i][1]
包含数字
$match[i][2]
包含字母
(见这里进行正则表达式测试)
然后将它们放在一个数组中
for($i = 0; $i < count($match); $i++)
{
if($match[i][1] != "")
$numbers[] = $match[1];
if($match[i][2] != "")
$letters[] = $match[2];
}
编辑1
我已经更新了正则表达式。它现在查找数字或字母,带或不带空格。
编辑2
正则表达式是正确的,但数组处理不是。使用preg_match_all
, then$match
是一个包含数组的数组,例如:
Array
(
[0] => Array
(
[0] => Abc
[1] => aaa
[2] => 25
)
[1] => Array
(
[0] =>
[1] =>
[2] => 25
)
[2] => Array
(
[0] => Abc
[1] => aaa
[2] =>
)
)