I have a string with nested groups like this ('blabla' is some text within the string that must be ignored)
string Stream1 = @"group ""Main""
bla
bla
group ""Sub1"" -- block-group
var1
var2
endgroup -- block-group ""Sub1""
bla
bla
group ""Sub2"" -- block-group
var1
endgroup -- block-group ""Sub2""
bla
group ""Sub3"" -- block-group
var1
var2
var3
group ""SubSub31"" -- block-group
var10
var20
endgroup -- block-group ""SubSub31""
endgroup -- block-group ""Sub3""
endgroup";
The expected output is a list of GroupObjects like this
public class GroupObject
{
public string GroupName = ""; // Example: SubSub31
public string GroupPath = ""; // Example: Main/Sub3/SubSub31
public List<Var> LocalVar = new List<VarBloc();//Var10,var20
}
I guess some recursive regex will solve this but I can't figure out how to do this.
Can someone give me a hint ?
Sample code would be highly appreciated