求一boost正则表达式,能获取多层花括号中的每一层花括号的内容

如题,求一boost正则表达式,能获取多层花括号中的每一层花括号的内容,例如

When(A=B)
{
if(C=d)
{
Test =1
}
if(F=g)
{
Test=0
}
}

希望能获取最外层花括号之间内容,以及内层花括号之间的内容。而且花括号数目及层数不限。求大神帮忙。

不明白 RegularExpressionValidator

to qq_35905323 :
什么意思啊?RegularExpressionValidator这个是不是.net中的呀?具体的正则表达式应该怎么写