日期:2014-05-17 浏览次数:20530 次
{$A
{$B
{$C
这里是C
}
}
}
{$F
这里是F
}
{$A
{$B
{$C
这里是C
}
}
}
{$B
{$C
这里是C
}
}
{$C
这里是C
}
{$F
这里是F
}
static Regex reg = new Regex(@"\{[^{}]+((?:(?<Open>\{)[^{}]+)*(?:(?<-Open>\})[^{}]*)*)*(?(Open)(?!))\}");
static void Main(string[] args)
{
string str = @"{$A
{$B
{$C
这里是C
}
}
}
{$F
这里是F
}";
GetValue(str);
Console.ReadKey();
}
public static void GetValue(string str)
{
MatchCollection mc = reg.Matches(str);
foreach (Match m in mc)
{
Console.WriteLine(m.Value);
Console.WriteLine("*******************");
GetValue(m.Groups[1].Captures[0].Value);
}
}
/*
{$A
{$B
{$C
这里是C
}
}
}
*******************
{$B
{$C
这里是C
}
}
*******************
{$C
这里是C
}
*******************
{$F
这里是F
}
*******************
*/
------解决方案--------------------
平衡组
http://blog.csdn.net/lxcnn/article/details/4402808