Please enable JavaScript to use regex101
/
^
r
e
g
e
x
[
\
-
_
]
?
1
0
1
$
/
i
Reg
ular
Ex
pressions
101
Upgrade to Pro
Enterprise
Regular Expression
/
\{(?:(?:\{(?:(?:\{(?:[^{}])*\})|(?:[^{}]))*\})|(?:[^{}]))*\}
/
g
Input 1
1
New
captures up to singly-nested blocks: p{1} = \{(?:[^{}])*\} int main() { return 0; } captures up to doubly-nested: p{2} = \{(?:(?:p{1})|(?:[^{}]))*\} ...or... p{2} = \{(?:(?:\{(?:[^{}])*\})|(?:[^{}]))*\} void more_complex_fxn(int z) { int x = z / 9; if (x > 3) { do_something; x += 5; } } Following the pattern set above... up to triply-nested: p{3} = \{(?:(?:p{2})|(?:[^{}]))*\} ...or... p{3} = \{(?:(?:\{(?:(?:\{(?:[^{}])*\})|(?:[^{}]))*\})|(?:[^{}]))*\} double so_many_blocks(double x) { double y = x; while(y > 4) { if (y < 6) { y -= 0.3; } else { y -= 0.5; } } return y; }