我是一个有用的助手,可以为您翻译文本。
我有一个看起来很简单但却让我这个不太懂正则表达式的人束手无策的问题。我需要将一个字符串转换为数组并相应地处理值,这很简单,但是字符串的格式不能改变(它是在其他地方生成的),而且它的逻辑让我感到困惑。
该字符串为:
但是会失去id和值之间的关联。
我有一个看起来很简单但却让我这个不太懂正则表达式的人束手无策的问题。我需要将一个字符串转换为数组并相应地处理值,这很简单,但是字符串的格式不能改变(它是在其他地方生成的),而且它的逻辑让我感到困惑。
该字符串为:
[6] [2] [3] 12.00; [5] [4]
这基本上是一组id和十进制值(在这种情况下,id 3 == 12.00)。id的数量可能随时更改,并且十进制值可能存在于任何或所有id中。
在理想的情况下,我将拥有以下数组:
Array (
[0] => Array (
[id] => 6
[num] =>
)
[1] => Array (
[id] => 2
[num] =>
)
[2] => Array (
[id] => 3
[num] => 12.00
)
Etc...
你们中有没有正则表达式专家知道如何比我更少发誓地完成这个任务?
到目前为止,我已经使用以下内容提取了id:
preg_match_all('@\[(.*?)\]@s', $string, $array);
使用以下内容进行小数:
preg_match_all('/([0-9]+[,\.]{1}[0-9]{2})/', $string, $array);
但是会失去id和值之间的关联。