Regex с рекурсивным выражением для соответствия вложенным скобкам?
Я пытаюсь сопоставить текст, напримерsp { ...{...}... }
где фигурные скобки разрешено гнездиться. Это то, что я до сих пор:
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;
Я просто не могу заставить его соответствовать следующему тексту:sp { { word } }
, Кто-нибудь может увидеть, что не так с моим регулярным выражением?