Decodificação de expressão regular com repetições aninhadas
PHP
Hard
regex
Tarefa «Decodificação de expressão regular com repetições aninhadas»
Dada uma string contendo uma expressão regular codificada em um formato especial: letras do alfabeto latino (a-z) e dígitos (2-9) entre parênteses, indicando o número de repetições do caractere ou grupo anterior. Parênteses aninhados são permitidos. É necessário expandir todas as repetições e exibir a expressão regular resultante na notação padrão (sem parênteses com número, apenas caracteres e quantificadores {n}). Por exemplo, 'a3' se torna 'a{3}', '(ab)2' -> '(ab){2}', e '((a2)2b)2' -> '((a{2}){2}b){2}'. É garantido que a string de entrada é válida, o comprimento não excede 1000 caracteres e a profundidade de aninhamento não é maior que 10.
Formato de Entrada
Uma única string S (1 ≤ |S| ≤ 1000), consistindo em letras latinas minúsculas, dígitos de 2 a 9 e parênteses.
Formato de Saída
Uma única string — a expressão regular expandida na notação padrão.
Exemplos
Exemplo 1
ENTRADA
a3
SAÍDA
a{3}
Exemplo 2
ENTRADA
0 0 4 0 0 3
SAÍDA
{4} {3}
Exemplo 3
ENTRADA
0
SAÍDA
Exemplo 4
ENTRADA
(ab)2
SAÍDA
(ab){2}
Exemplo 5
ENTRADA
1 1 4 5 7 1
SAÍDA
{4} {5} {7}
main.php