Regex mit rekursivem Ausdruck für geschachtelte Klammern?

Ich versuche, Text wie zusammenzubringensp { ...{...}... }, wo die geschweiften Klammern nisten dürfen. Das habe ich bisher:

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;

Ich kann es einfach nicht mit dem folgenden Text abgleichen:sp { { word } }. Kann jemand sehen, was mit meinem Regex falsch ist?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage