Comments 2
Сколько видел статей по парсерам, никто не шёл дальше перебора с возвратом или создания детерминированного автомата. А тут прямо россыпи интересных идей, которым десятки лет, но они не на виду.
Конкретно эта реализация с возвратом имеет один недостаток, которого обычно нет в настоящих продакшн реализациях: регулярные выражения вроде
могут вызывать бесконечные циклы в скомпилированной программе
По моему, указанная проблема встречается много где. Сайт regex101.com вывалил timeout на C#/Java/Python/PHP/JS (регулярка ^(a*)*$, строка 'aaaaa....aab')
Но насколько знаю, любой "опасный" регекс можно переписать по нормальному
Sign up to leave a comment.
Поиск с помощью регулярных выражений: подход с Виртуальной Машиной