Php regex/preg_在数字和字母之间交替匹配,用空格分隔
我的字符串按空格分隔数字和字母(短语)。数字和字母交替。 所以在下面的例子中有6个动作。该字符串继续使用另一组数字,然后是alpha 似乎无法获得正确的模式来执行以下操作 示例字符串: 6法案YE 1000 FH 6法案YE 10000法案FC 32000法案 结果应该是: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 试试
[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);