Ciao!
Stai affrontando un problema classico dei corsi di "linguaggi e traduttori".
Si tratta di un problema ricorsivo, come hai osservato tu stesso, che credo vada oltre la potenza espressiva delle espressioni regolari.
Per risolvere questo problema in maniera tradizionale è opportuno
1) scaricare le librerie opportune per il linguaggio scelto
C: Lex & yacc o flex e byson
Java: jflex e cup
2) definire una semplice grammatica
O meglio, trattandosi di un problema classico, cercare una soluzione in giro.
3) incartare quanto sviluppato in un'unica funzione.
Spero di essere stato utile.
A presto.

Rispondi quotando