Decodificando una expresión regular con repeticiones anidadas
PHP
Hard
regex
Tarea «Decodificando una expresión regular con repeticiones anidadas»
Dada una cadena que contiene una expresión regular codificada en un formato especial: letras del alfabeto latino (a-z) y dígitos (2-9) entre paréntesis, que indican el número de repeticiones del carácter o grupo anterior. Se permiten paréntesis anidados. Es necesario expandir todas las repeticiones y generar la expresión regular resultante en notación estándar (sin paréntesis con número, solo caracteres y cuantificadores {n}). Por ejemplo, 'a3' se convierte en 'a{3}', '(ab)2' -> '(ab){2}', y '((a2)2b)2' -> '((a{2}){2}b){2}'. Está garantizado que la cadena de entrada es válida, la longitud no supera los 1000 caracteres y la profundidad de anidamiento no es mayor a 10.
Formato de entrada
La única cadena S (1 ≤ |S| ≤ 1000), compuesta por letras minúsculas del alfabeto latino, dígitos del 2 al 9 y paréntesis.
Formato de salida
Una línea — una expresión regular expandida en notación estándar.
Ejemplos
Ejemplo 1
ENTRADA
a3
SALIDA
a{3}
Ejemplo 2
ENTRADA
0 0 4 0 0 3
SALIDA
{4} {3}
Ejemplo 3
ENTRADA
0
SALIDA
Ejemplo 4
ENTRADA
(ab)2
SALIDA
(ab){2}
Ejemplo 5
ENTRADA
1 1 4 5 7 1
SALIDA
{4} {5} {7}
main.php