Лучшие статические анализаторы регулярных выражений
21К открытий21К показов
Ни для кого не секрет, что регулярные выражения — очень удобный инструмент для решения многих задач, связанных с обработкой текста. Но вряд ли найдется много людей, способных написать любую регулярку с нуля без подсказок, справочников и нескольких (десятков) попыток. Тогда на помощь приходят статические анализаторы регулярных выражений.
Они бывают совершенно различных форматов: в виде онлайн-ресурса, плагина к IDE или браузеру или в виде самостоятельной программы. Первые удобны для разового или редкого использования. Хотя некоторые онлайн-тестеры имеют возможность сохранения шаблона в виде постоянной ссылки или в аккаунте, для регулярного использования больше подойдут плагины или десктопные приложения.
Мы выбрали самые интересные приложения из каждой категории. Все заголовки кликабельны.
Онлайн-приложения
regex101.com
Пожалуй, лучший вариант веб-приложения для разработки регулярных выражений. Поддерживает форматы PCRE (PHP), JavaScript и Python. Есть возможность получить постоянную ссылку на ваш код, сгенерировать код для PHP, JavaScript или Python, создать юнит-тесты, запустить регулярку пошагово и воспользоваться большой библиотекой готовых регулярных выражений.
Debuggex
Ограничен по функционалу, не поддерживает замену по шаблону. Но взамен предоставляет визуализацию вашего регулярного выражения в виде конечного автомата, что заметно упрощает понимание работы и отладку. Также, как и regex101.com, поддерживает синтаксис PCRE, JavaScript или Python. Есть платная подписка с расширенными возможностями, такими как оценка производительности или юнит-тесты с просмотром покрытием кода.
RegExr 2.0
Онлайн-тестер с открытым исходным кодом и приятным дизайном. Хотя по функционалу уступает regex101.com — только один вариант синтаксиса, нет генерации кода и тестов — для простых задач его вполне достаточно. В отличие от Debuggex, поддерживает замену по шаблону.
Плагины для IDE
Regex Util (IDEA plugin)
Плагин для IntelliJ IDEA и других IDE от JetBrains. Минималистичный интерфейс, поддержка замен и разделений по шаблону и всплывающие подсказки с объяснением элементов. Нет возможности сохранения регулярных выражений. Отлично подходит для проверки регулярок перед добавлением в код.
Regex Util (Eclipse plugin)
Аналог плагина для IntelliJ IDEA с тем же функционалом.
Десктопные приложения
Expresso
Одна из лучших программ под Windows для написания и проверки регулярных выражений. Огромное количество возможностей: визуальный редактор, генерация кода, библиотека шаблонов. Программа бесплатная, но после 60 дней использования требует регистрации.
The Regex Coach
Для тех, кому Expresso кажется слишком сложным. Маленькая утилита с возможностью пошагового выполнения регулярного выражения. Поддерживает синтаксис PCRE, который используется в Perl, PHP и очень похож на синтаксис регулярных выражений Java и XML Schema. Программа примечательна тем, что написана на Common Lisp.
Regexbuddy
Достойный конкурент Expresso с большой библиотекой готовых примеров. Платная ($39.95). Кроме того, на сайте разработчика есть отличные программы PowerGrep (для сложного поиска по текстовым файлам) и RegexMagic (визуальный редактор регулярных выражений).
Oyster
Платная ($3.99) утилита под OS X. Отличная программа с большим количеством возможностей, интеграцией с Dash и CodeBox, генерацией кода на Java, JavaScript, Objective-C, Python и других языках.
Что выбрать?
Если вам необходимо часто писать регулярные выражения для обработки текста или других задач, лучший вариант — самостоятельное приложение вроде Expresso или Oyster. Если задача разовая, или вы хотите просто потренироваться, вам помогут онлайн-приложения, такие как regex101.com. Следует заметить, что список выше далеко не полный, и есть еще много программ, которые помогут вам в вашей работе.
Кроме того, возможно, вашу задачу кто-то уже решил и поделился решением с сообществом. Обратите внимание на regexlib.com и RexEgg.
21К открытий21К показов