Regex com expressão recursiva para combinar chaves aninhadas?
Estou tentando combinar texto comosp { ...{...}... }
, onde as chaves são permitidas para aninhar. Isto é o que eu tenho até agora:
my $regex = qr/
( #save $1
sp\s+ #start Soar production
( #save $2
\{ #opening brace
[^{}]* #anything but braces
\} #closing brace
| (?1) #or nested braces
)+ #0 or more
)
/x;
Eu simplesmente não consigo combiná-lo com o seguinte texto:sp { { word } }
. Alguém pode ver o que está errado com o meu regex?