日期:2014-05-17 浏览次数:20412 次
{$All[D:1,2,3:D] {$De[L:3,4,5:L] 这里是内容 } }
{$De[L:3,4,5:L] 这里是内容 }
{$All[D:1,2,3:D] 这里是内容 }
{$All[D:1,2,3:D] {$De[L:3,4,5:L] 这里是内容 } }
{$De[L:3,4,5:L] 这里是内容 }
static Regex reg = new Regex(@"\{[^{}]+((?:(?<Open>\{)[^\]]*\]([^}]+))*(?:(?<-Open>\})[^{}]*)*)*(?(Open)(?!))\}"); static void Main(string[] args) { string str = @"{$All[D:1,2,3:D] {$De[L:3,4,5:L] 这里是内容 } } "; GetValue(str); Console.WriteLine(reg.Match(str).Groups[2].Value); 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); } } /* {$All[D:1,2,3:D] {$De[L:3,4,5:L] 这里是内容 } } ******************* {$De[L:3,4,5:L] 这里是内容 } ******************* 这里是内容 */