我在我的PHP代码中的正则表达式应该每个数字和所有的“运营商” +匹配 - */^ R()我的正则表达式看起来像这样PHP正则表达式意外的比赛
/(?:(\d+(?:\.\d+)|(\+)|(-)|(\*)|(\/)|(\^)|(r)|(\()|(\))))/
和测试时以字符串preg_match_all($expression,"2+2",$results)
它给我回
Array
(
[0] => Array
(
[0] => '+'
)
[1] => Array
(
[0] => ''
)
[2] => Array
(
[0] => '+'
)
[3] => Array
(
[0] => ''
)
[4] => Array
(
[0] => ''
)
[5] => Array
(
[0] => ''
)
[6] => Array
(
[0] => ''
)
[7] => Array
(
[0] => ''
)
[8] => Array
(
[0] => ''
)
[9] => Array
(
[0] => ''
)
)
当(如果它的工作原理右)我应该得到这个
Array
(
[0] => Array
(
[0] => '2'
[1] => '+'
[2] => '2'
)
[1] => Array
(
[0] => '2'
[1] => ''
[2] => '2'
)
[2] => Array
(
[0] => ''
[1] => '+'
[2] = > ''
)
[3] => Array
(
[0] => ''
[1] => ''
[2] => ''
)
[4] => Array
(
[0] => ''
[1] => ''
[2] => ''
)
...
)
注意,它返回类似行为对于所有的运营商,它似乎忽略的数字完全
注意,我确实需要单独的捕捉组,所以我有不同的匹配指标。对于每个结果
这是什么目标? “ –
”应该匹配每个数字和所有“运算符”+ - */^ r()“我试图基于这个正则表达式来标记化 – Nanos
然后你不需要使用分离的捕获组 –