Il ? rende facoltativo il carattere che lo precede e non è quello a risolvere il tuo problema.
La suluzione è nella parte precedente in cui hai sostituito
Inizio commento (.*)
con
Inizio commento ([a-zA-Z0-9]*)

In questo modo i caratteri che di chiusura del "tag", ovvero --> , sono esclusi e viene risolto l'errore per cui prelevava tutto ciò che era compreso tra il primo "inizio" e l'ultimo "fine".