提问者:小点点

如何捕获嵌套组?[副本]


我有一个这样的目标字符串:(然而嵌套在实践中可能非常深)

{hi{how{are{you}}}}

预期结果将是:

小组:你好你好你好

我在c#regex中找不到任何东西可以这样做嵌套捕获。有可能吗?

编辑:

我想我把我的例子简化得太多了,这使答案模糊不清。我需要以递归的方式捕获,因为我需要括号内的内容:{test[{test2[content]}}

预期结果将是:

{test2[内容]}内容


共2个答案

匿名用户

{([^{}]+)

试试这个。见演示。抓取捕获物。

http://regex101.com/r/oE6jJ1/35

匿名用户

我可以想到这个:

 string balh = "{hi {how {are {you}}}}";
 string[] foo = balh.Split(new char[] { '{', '}' }, StringSplitOptions.RemoveEmptyEntries);
 string output = string.Join(" ", foo);

这些组将位于foo数组中。

编辑:

我认为您正在寻找更详细的输入。我把问题搞错了:(