Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php regex/preg_在数字和字母之间交替匹配,用空格分隔_Php_Regex - Fatal编程技术网

Php regex/preg_在数字和字母之间交替匹配,用空格分隔

Php regex/preg_在数字和字母之间交替匹配,用空格分隔,php,regex,Php,Regex,我的字符串按空格分隔数字和字母(短语)。数字和字母交替。 所以在下面的例子中有6个动作。该字符串继续使用另一组数字,然后是alpha 似乎无法获得正确的模式来执行以下操作 示例字符串: 6法案YE 1000 FH 6法案YE 10000法案FC 32000法案 结果应该是: [0] = 6 [1] = ACT YE [2] = 1000 [3] = FH [4] = 6 [5] = ACT YE [6] = 10000 [7] = ACT FC [8] = 32000 [9] = ACT 试试

我的字符串按空格分隔数字和字母(短语)。数字和字母交替。 所以在下面的例子中有6个动作。该字符串继续使用另一组数字,然后是alpha

似乎无法获得正确的模式来执行以下操作

示例字符串: 6法案YE 1000 FH 6法案YE 10000法案FC 32000法案

结果应该是:

[0] = 6
[1] = ACT YE
[2] = 1000
[3] = FH
[4] = 6
[5] = ACT YE
[6] = 10000
[7] = ACT FC
[8] = 32000
[9] = ACT
试试这个:

$result = preg_split("/(?<=\d)\s+(?=\D)|(?<=\D)\s+(?=\d)/",$input);
$result=preg\u split(“/(?试试这个:

$result = preg_split("/(?<=\d)\s+(?=\D)|(?<=\D)\s+(?=\d)/",$input);

$result=preg_split(“/”(?谢谢@Braj-值得注意的是,在您的演示中,突出显示的空格将用于拆分字符串:)您太棒了!非常感谢!拆分工作很好,+1。另一个解决方案是匹配
\d+[^\d]+(?:[^\d]+)*
,即
$regex='/\d+[^\d]+(?:[^\d]+)*/“;$count=preg_match_all($regex,$yourstring,$matches);
谢谢@Braj-值得注意的是,在您的演示中,突出显示的空格将用于拆分字符串:)您太棒了!非常感谢!拆分工作做得很好,+1。另一个解决方案是匹配
\d+\d++(?:[^\d]+)*
,即
$regex='/\d+|[^\d]+(?:[^\d]+)*/”;$count=preg\u match\u all($regex,$yourstring,$matches);