Extraer cadena (coincidir con corchetes)

Ingrese datos para garantizar que no habrá corchetes redundantes, y los números repetidos deben ser legales y mayores a 1, es decir, no aparecerán:

(A)2B ------ - (Debe ser: A2B)

((AB))2C -----(Debe ser: (AB)2C)

(A) B ----- (debe ser: AB)

A1B, (AB)1C, (debe ser AB, ABC)

Nota: El número puede tener varios dígitos, es decir A11B o (AB)10C o A02 esta situación.

A11B = AAAAAAAAAAAB

(AB)10C = ABABABABABABABABABABC

A02 = AA

Distribución de datos:

Para los datos de 60, los corchetes no estarán anidados, es decir, no habrá una estructura como ((AB)2C)2.

Para los datos de 80, los corchetes solo se pueden anidar en un nivel como máximo, es decir, no habrá una estructura como (((AB)2C)2D)99.

Para datos de 100, los corchetes se pueden anidar en cualquier nivel.

La primera línea es un número entero positivo C (C lt; = 100), lo que indica que hay un conjunto de datos C debajo. Después de la línea C, cada línea contiene un conjunto de datos y cada conjunto de datos es una cadena.

Cada cadena consta de A-Z, números del 0 al 9 y (,) para representar una cadena comprimida, lo que garantiza que los datos de entrada sean legales y que la longitud de la cadena sea inferior a 50.

Líneas de salida C. Cada línea corresponde al resultado de salida de un dato, que representa la cadena antes de la compresión. Asegúrese de que la longitud de cada cadena después de la expansión no exceda 10 ^ 6.

/questionTerminal/8bd5e502931a4b8d84bfd485258c16e5?commentTags=Python