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 } }, Кто-нибудь может увидеть, что не так с моим регулярным выражением?

Ответы на вопрос(2)

Ваш ответ на вопрос