Entschlüsselung eines regulären Ausdrucks mit verschachtelten Wiederholungen

PHP Hard regex

Aufgabe «Entschlüsselung eines regulären Ausdrucks mit verschachtelten Wiederholungen»

Gegeben ist eine Zeichenkette, die einen codierten regulären Ausdruck in einem speziellen Format enthält: lateinische Buchstaben (a-z) und Ziffern (2-9) in runden Klammern, die die Anzahl der Wiederholungen des vorherigen Zeichens oder der Gruppe angeben. Verschachtelte Klammern sind erlaubt. Es müssen alle Wiederholungen aufgelöst und der resultierende reguläre Ausdruck in der Standardnotation (ohne Klammern mit Zahlen, nur Zeichen und Quantoren {n}) ausgegeben werden. Beispielsweise wird 'a3' zu 'a{3}', '(ab)2' -> '(ab){2}', und '((a2)2b)2' -> '((a{2}){2}b){2}'. Es ist garantiert, dass die Eingabezeichenkette korrekt ist, die Länge 1000 Zeichen nicht überschreitet und die Verschachtelungstiefe nicht mehr als 10 beträgt.

Eingabeformat

Eine einzelne Zeichenkette S (1 ≤ |S| ≤ 1000), bestehend aus lateinischen Kleinbuchstaben, Ziffern 2-9 und runden Klammern.

Ausgabeformat

Eine einzelne Zeichenkette — der entschlüsselte reguläre Ausdruck in der Standardnotation.

Beispiele

Beispiel 1

EINGABE
a3
AUSGABE
a{3}

Beispiel 2

EINGABE
0 0 4 0 0 3
AUSGABE
{4} {3}

Beispiel 3

EINGABE
0
AUSGABE

Beispiel 4

EINGABE
(ab)2
AUSGABE
(ab){2}

Beispiel 5

EINGABE
1 1 4 5 7 1
AUSGABE
{4} {5} {7}
main.php