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
/
(?(DEFINE) (?<curly> \{ \g<content>*? \} ) (?<square> \[ \g<content>*? \] ) (?<nested> \g<curly> | \g<square> ) (?<content> [^{}\[\]]++ | \g<nested> ) ) \g<nested>
/
gx
Input 1
1
New
EVENLY BALANCED curly braces {{{}}} { test1 { test2 { test3 { test4 } } } } UNEVENLY BALANCED curly braces {{{{}}} ] <-- this is needed, otherwise this line balances with the line below :) { test1 { test2 { test3 { test4 } } } } } MULTI-LINE EVENLY BALANCED curly braces { } MULTI-LINE UNEVENLY BALANCED curly braces {{ } EVENLY BALANCED square braces [ test1 [ test2 [ test3 [ test4 ] ] ] ] EVENLY BALANCED square and curly braces { test1 [ test2 { test3 [ test4 ] } ] } UNEVENLY BALANCED square and curly braces { test1 [ test2 { test3 [ test4 ] } } ]
Substitution
EVENLY BALANCED curly braces {{{}}} { test1 { test2 { test3 { test4 } } } } UNEVENLY BALANCED curly braces {{{{}}} ] <-- this is needed, otherwise this line balances with the line below :) { test1 { test2 { test3 { test4 } } } } } MULTI-LINE EVENLY BALANCED curly braces { } MULTI-LINE UNEVENLY BALANCED curly braces {{ } EVENLY BALANCED square braces [ test1 [ test2 [ test3 [ test4 ] ] ] ] EVENLY BALANCED square and curly braces { test1 [ test2 { test3 [ test4 ] } ] } UNEVENLY BALANCED square and curly braces { test1 [ test2 { test3 [ test4 ] } } ]