Алгоритмы. Регулярные выражения. Инструменты

Вдогонку к рассуждениям о анализе регулярных выражений упомяну инструменты которые для этого полезны.

1. esmre — уже упоминавшаяся мной библиотека использующая алгоритм Ахо-Карасика для быстрого поиска по коллекциям регулярных выражений.

2. hachoir-regex — библиотека работы с регулярными выражениями из проекта Hachoir. Там много интересных идей, но мало теории, одна реализация. В частности сборка и разборка регулярных выражений на классы языка Python и каркас для определения отношений выражений и простых метрик. Одно жаль — всё под GPL.

3. Regexp::Optimizer — библиотека для Perl умеющая оптимизировать выражения

4. Regexp::Assemble — библиотека для Perl для сборки выражений

Недостатки этих инструментов в слабых парсерах, например, в esmre и hachoir-regex поскольку есть масса элементов синтаксиса выражений которые они до сих пор не поддерживают. Например, именованные группы, но не только они.

About This Author

Яндекс.Метрика