Php Reg Exp-preg\u match\u all reduce数组结果

Php Reg Exp-preg\u match\u all reduce数组结果,php,regex,preg-match-all,Php,Regex,Preg Match All,这是我的注册表Exp[c]?[\d+\d+]\s*。我的输入是c7=c4/c5*100,结果是: Array ( [0] => Array ( [0] => c7 [1] => = [2] => c5 [3] => + [4] => c3 [5] => * [6] => 1 [7]

这是我的注册表Exp[c]?[\d+\d+]\s*。我的输入是c7=c4/c5*100,结果是:

Array ( [0] => Array ( [0] => c7 [1] => = [2] => c5 [3] => + [4] => c3 [5] => * [6] => 1 [7] => 0 [8] => 0 ) ) 但我想要的是:

Array ( [0] => Array ( [0] => c7 [1] => = [2] => c5 [3] => + [4] => c3 [5] => * [6] => 100 ) ) 我似乎无法让最后一部分工作,我不知道下一步该怎么办-有人能帮我吗

谢谢, Paul

您指定了一个[\d+\d+],它将匹配任何指定的字符。我认为您的意思是将or |与构造c:\d+|\d+\s*一起使用,但在这种情况下,它将与c匹配,后跟\d+或\d,这样就可以与它后面的=符号匹配,从而使c=作为匹配,/c作为匹配

是否尝试匹配可选的c?后跟一个或多个数字或|不匹配数字\D

这将导致:

Array
(
    [0] => Array
        (
            [0] => c7
            [1] => =
            [2] => c4
            [3] => /
            [4] => c5
            [5] => *
            [6] => 100
        )

)
Array
(
    [0] => Array
        (
            [0] => c7
            [1] => =
            [2] => c4
            [3] => /
            [4] => c5
            [5] => *
            [6] => 100
        )

)