Я не могу ответить на ваш вопрос со 100% уверенностью, но могу высказать ваше мнение.
Я считаю, что выбор правильной грамматики по сравнению с "парсерами" регулярных выражений, часто сводится к тому, насколько однороден ввод.
Если входные данные очень однородны, и вы уже знаете язык, который хорошо работает со строками, например, Python или Perl, то я бы сохранил ваш существующий код.
С другой стороны, я считаю, что генераторы синтаксического анализатора, такие как Antlr, действительно светятся, когда ввод может содержать ошибки и несоответствия. Причина в том, что формальная грамматика позволяет вам сосредоточиться на том, что должно быть сопоставлено в определенном контексте, не беспокоясь о ручном прохождении входного потока.
Кроме того, если во входном потоке есть ошибка, я обнаружил, что с ними часто легче справиться, используя Antlr против регулярных выражений. Причина в том, что при наличии нескольких опций Antlr имеет встроенную функциональность для выбора правильного пути, включая откат через предикаты.
Сказав все это, можно сказать много о рабочем коде. Я нахожу, что если я захочу что-то переписать, то я попытаюсь найти хороший пример того, как переписать пойдет на пользу пользователю продукта.