Php 使用单个正则表达式将字符串解析为多维数组?

Php 使用单个正则表达式将字符串解析为多维数组?,php,regex,arrays,multidimensional-array,Php,Regex,Arrays,Multidimensional Array,我想知道这里是否有人能帮我。我有以下字符串: $str = 'unit1(field1,field2,field3),unit2(field4,field5,field6)'; 我正在尝试分析此字符串以创建以下数组: array( 'unit1' => array('field1', 'field2', 'field3') 'unit2' => array('field4', 'field5', 'field6') ) 我对正则表达式非常失望,所以我甚至不知道从哪里开始

我想知道这里是否有人能帮我。我有以下字符串:

$str = 'unit1(field1,field2,field3),unit2(field4,field5,field6)';
我正在尝试分析此字符串以创建以下数组:

array(
  'unit1' => array('field1', 'field2', 'field3')
  'unit2' => array('field4', 'field5', 'field6')
)
我对正则表达式非常失望,所以我甚至不知道从哪里开始


谢谢

您无需使用正则表达式即可完成此操作

 $str = 'unit1(field1,field2,field3),unit2(field4,field5,field6)';
 $str = trim($str, ")");
 $parts = explode("),",$str);
 $results = array();
 foreach($parts as $part){
      list($key, $value) = explode("(", $part,2);
      $results[$key] = explode(",", $value);
 }

现在,$results将包含您指定的输出

我认为您在底部的
unit2
中缺少了一些单引号?要了解regex,您可以从这里开始。然后查看PHP文档中的
preg\u match
preg\u match\u all
。一旦你阅读了所有内容,尝试构建自己的解决方案,然后返回失败的代码,可能会有人提供帮助。你的第一个代码示例不是字符串。为什么不选择一种更标准的格式,如JSON:
[{“unit”:“unit1”,“fields”:[“field1”,“field2”]},
JSON_decode($str)