正则表达式{}解析

时间:2012-12-12 12:15:48

标签: regex c#-4.0 regex-greedy

您好我在解析此文本时遇到问题

{
    {
        {
            {[system1];1;1;0.612509325};
            {[system2];1;1;0.977659115};
            {[system3];1;1;36.97828732969};
            {[system4];1;1;61.43154423}
        };2.5469
    };
    {
        {
            {[system5];1;1;0.9613443};
            {[system6];1;1;2.06340392};
            {[system7];1;1;4.12680784};
            {[system8];1;1;6.18989626};
            {[system9];1;1;24.75958504758};
            {[system10];1;3;61.8989626189}
        };31.6952
    }
}

我需要将它解析为像这样的对象

class Group
{
  Rate = 31.6952
  Systems = 
   {
    System5 = {[system5];1;1;0.9613443};
    System6 ={[system6];1;1;2.06340392};
    System7 ={[system7];1;1;4.12680784};
    System8 ={[system8];1;1;6.18989626};
    System9 ={[system9];1;1;24.75958504758};
    System10 ={[system10];1;3;61.8989626189}
   }
}

我试过

  

({[^ {}] })

但它没有很好地分组。

1 个答案:

答案 0 :(得分:1)

试试这个正则表达式

{[\d\w]*.*?}

它会返回

{[system5];1;1;0.9613443}

System5 = {[system5];1;1;0.9613443};