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>*? \] ) (?<pascal> \bbegin\b \g<content>*? \bend\b ) (?<lua> --\[ \g<content>*? --\] ) (?<nested> \g<curly> | \g<square> | \g<pascal> | \g<lua> ) (?<content> # Math non-recursive content (atomically) (?: (?! [{}\[\]] | \bbegin\b | \bend\b | --[\[\]] ) .)++ # Or recurse | \g<nested> ) ) \g<nested>
/
gsx
Input 1
1
New
EVENLY BALANCED curly braces {{{}}} { test1 { test2 { test3 { test4 } } } } UNEVENLY BALANCED curly braces {{{{}}} end <-- 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 ] } } ]
Extraction
EVENLY BALANCED curly braces {{{}}} { test1 { test2 { test3 { test4 } } } } UNEVENLY BALANCED curly braces {{{{}}} end <-- 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 ] } } ]