如何捕获嵌套组?

时间:2014-11-26 14:19:03

标签: c# regex

我有一个像这样的目标字符串:(但实际上嵌套可能非常深)

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

期望的结果将是:

组: hi how are you

我无法在c#regex中找到任何可以进行嵌套捕获的内容。它有可能吗?

修改

我认为我过多地简化了我的例子,这些都模糊了答案。 我需要以递归方式捕获,因为我需要括号内的内容: {test[{test2[content]}]}

所需的结果是:

{test2[content]}content

2 个答案:

答案 0 :(得分:0)

{([^{}]+)

试试这个。看看demo.grab捕捉。

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

答案 1 :(得分:0)

我能想到这个:

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

这些组将位于foo数组中。

修改

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