Blog. Just Blog

Программы для работы с регулярными выражениями

Версия для печати Добавить в Избранное Отправить на E-Mail | Категория: Software | Автор: ManHunter
Программы для работы с регулярными выражениями
Программы для работы с регулярными выражениями

Регулярные выражения (regular expressions) - особая система обработки текста, основанная на системе записи образцов (шаблонов) для поиска. В наше время регулярные выражения используются практически во всех языках программирования. Простенькие регулярки легко составить и просчитать в голове, но когда длина регулярного выражения переваливает за несколько сотен символов, то тут без специальных инструментов не обойтись. Предлагаю вашему вниманию небольшой обзор программ для написания и отладки регулярных выражений.

Скриншот программы RegexBuddy
Скриншот программы RegexBuddy

Традиционно начнем с лучшего. А лучшими программами для работы с регулярными выражениями я считаю RegexBuddy и RegexMagic от Just Great Software. RegexBuddy используется для написания и отладки регулярных выражений. При составлении выражения каждый элемент комментируется словами, описывая в словесной форме что и по какому правилу будет найдено. Это очень удобно для понимания чужих регулярных выражений. Действие составленного регулярного выражения можно сразу же проверить на нужном текстовом фрагменте или файле. После отладки регулярное выражение можно сохранить в формате языков C#, Delphi, Java, JavaScript, PCRE, Perl, PHP, Python, REALbasic, Ruby, VB6 & VB.NET, VBScript и других. Программа платная, с сайта можно скачать только демо-версию, но иногда в интернете проскакивают и более удобные варианты дистрибутива, хоть и не самой последней версии.

Скриншот программы RegexMagic
Скриншот программы RegexMagic

RegexMagic написана тем же автором, что и RegexBuddy, очень похожа по функционалу и интерфейсу. Главная же фишка RegexMagic заключается в том, что это не просто отладчик для регулярок, а полноценный генератор. То есть вы на примерах исходного текста показываете программе что в них надо найти, а она вам генерирует регулярное выражение, по шаблону которого эти вхождения будут найдены. Очень удобный инструмент для изучения регулярных выражений. Программа не менее платная, чем предыдущая, но и тут есть решения.

Скриншот программы RegExpCheck
Скриншот программы RegExpCheck

RegExpCheck - небольшая бесплатная утилита для тестирования регулярных выражений с Perl-совместимым синтаксисом. На входе указывается регулярное выражение и текстовая строка. Найденные регулярным выражением подстроки выводятся в области результатов. Существенный минус программы в том, что перед применением выражения строки переводятся в нижний регистр, поэтому одни и те же символы в разном регистре воспринимаются как одинаковые. На мой взгляд, этого недостаточно, чтобы называться полноценной программой для тестирования регулярных выражений. Тем не менее, программа имеет место быть, скачать ее можно с офсайта.

Скриншот программы Expresso
Скриншот программы Expresso

Expresso больше подходит для новичков, но может пригодиться и профессионалам при анализе каких-нибудь зубодробительных регулярных выражений. Как RegexpBuddy, поясняет все фрагменты регулярок, а также содержит в себе обширную библиотеку готовых регулярок на все случаи жизни. Программа распространяется за денежку, но два волшебных слова Expresso и E21E3B9EAA87 приводят ее в чувства. Триальную версию можно скачать с офсайта, для работы требуется установленный .NET Framework.

Скриншот программы The Regex Coach
Скриншот программы The Regex Coach

The Regex Coach, как можно догадаться из названия, предназначен для изучения регулярных выражений и проведения с ними различных экспериментов. Программа бесплатная, на офсайте есть версии для Windows, Linux и MacOS.

Скриншот программы Regexile
Скриншот программы Regexile

Regexile - крохотная бесплатная программка для тестирования регулярных выражений. Принцип работы простой: задаете исходный текст, регулярное выражение, а программа сразу же выделит в исходном тексте фрагменты, подходящие под выборку, и выдаст полный список совпадений. Для работы требуется установленный .NET Framework, скачать можно с офсайта.

Скриншот программы Rad Software Regular Expression Designer
Скриншот программы Rad Software Regular Expression Designer

Rad Software Regular Expression Designer - бесплатная программа для разработки регулярных выражений. Кроме уже знакомых функций в ней есть удобный справочник по основным конструкциям языка регулярных выражений. Для работы требуется установленный .NET Framework, скачать можно с офсайта.

Скриншот Regular Expressions Tester
Скриншот Regular Expressions Tester

Regular Expressions Tester - инструмент, который у меня находится всегда под рукой, потому что это расширение для браузера Firefox. В остальном же все стандартно, указываете исходный текст, регулярное выражение и получаете список совпадений.

Джеффри Фридл - "Регулярные выражения"
Джеффри Фридл - "Регулярные выражения"

Самая лучшая, на мой взгляд, книга, посвященная регулярным выражениям, это "Регулярные выражения" Джеффри Фридла. Она пережила уже третье издание, которое на сегодняшний день является самым последним. С ее помощью вы научитесь использовать регулярные выражения на практике и извлекать максимум пользы из тех программ и языков программирования, в которых они поддерживаются. Большая часть документации, в которой упоминаются регулярные выражения, не дает даже отдаленного представления об их мощи, а данное издание поможет вам овладеть регулярными выражениями действительно на мастерском уровне.

Джеффри Фридл - "Регулярные выражения", Третье издание (2008)Джеффри Фридл - "Регулярные выражения", Третье издание (2008)

Jeffrey.Friedl.Mastering.Regular.Expressions.Third.Edition.RUS.zip (3,437,395 bytes)

Ян Гойвертс, Стивен Левитан - "Регулярные выражения. Сборник рецептов"
Ян Гойвертс, Стивен Левитан - "Регулярные выражения. Сборник рецептов"

Еще один неплохой справочник по регулярным выражениям - "Регулярные выражения. Сборник рецептов" Яна Гойвертса и Стивена Левитана. Немного общей теории и множество готовых решений на разных языках программирования, которые могут пригодится на практике.

Ян Гойвертс, Стивен Левитан - "Регулярные выражения. Сборник рецептов" (2010)Ян Гойвертс, Стивен Левитан - "Регулярные выражения. Сборник рецептов" (2010)

Regular.Expression.Cookbook.RUS.zip (4,033,128 bytes)

В статье я сознательно не указал ни одного он-лайнового сервиса для тестирования регулярных выражений. Если они вам действительно нужны, их можно без труда найти любой поисковой системой.

Поделиться ссылкой ВКонтакте
Просмотров: 25665 | Комментариев: 14

Внимание! Статья опубликована больше года назад, информация могла устареть!

Комментарии

Отзывы посетителей сайта о статье
ManHunter (10.04.2024 в 12:30):
Невелика потеря. Для работы достаточно пары-тройки лучших.
goba (10.04.2024 в 10:28):
Жаль, что часть ссылок сдохла - мелочь, а неприятно(.Regexile и Rad.Builder недоступны. Кое-как нашел.
Сергей (08.11.2022 в 21:40):
Спасибо!
ManHunter (07.04.2021 в 10:46):
Отличный сервис для визуализации регулярок
https://jex.im/regulex/
Ivan (09.02.2018 в 12:30):
Редко находится столько полезной информации в одном месте. Респект автору.
Ilyua (14.02.2016 в 15:53):
Спасибо большое автору! Полезная инфа!
ManHunter (20.09.2013 в 17:07):
Простые можно и в голове просчитать, особенно если часто ими пользоваться :)
morgot (20.09.2013 в 17:05):
Спасибо, полезный пост. Я пользуюсь плагином regex helper для notepad++, но к сожалению, в нем есть недостатки, например нельзя указать /i /g и т.д. (забыл как это слово называется, модификаторы или что), короче нельзя это там применять. Но простые регулярки тестировать в нем самое то.
lammer (19.09.2013 в 23:24):
Спасибо за толковый обзор.
К предыдущим комментариям я бы еще добавил TextCrawler (FREE)
http://www.digitalvolcano.co.u...crawler.html
bodrox (18.09.2013 в 21:41):
Вот только вчера возник вопрос про форматирование номеров мобильных операторов на форуме IPB :).
Madness (18.09.2013 в 21:08):
Я вот этим пользуюсь - http://www.gskinner.com/RegExr/
Ничего качать не надо :)
ManHunter (18.09.2013 в 17:42):
Это уже дело привычки, как и в любой другой области.
Rustamer (18.09.2013 в 17:34):
Для меня идеал - это Expresso. За все годы его использования не нашел почти никаких недостатков. Все под рукой, даже если чего и не помнишь по синтаксису. RegexBuddy помощнее(например, есть Debug), но не нравится прежде всего имхо ужасным + весьма пестрым интерфейсом. Это беда всех программ этого разработчика.

Ну и одна из самых необходимых в хозяйстве вещей, работающая на регулярках и своих аналогах - это конечно же TextPipe. Аналогов имхо просто нет. Практически любую обработку текста выполняю в ней.

Еще одна интересная вещь - это rxrdg (Regular Expression Random Data Generator) http://code.google.com/p/rxrdg/ - генератор примеров по регулярке.

Добавить комментарий

Заполните форму для добавления комментария
Имя*:
Текст комментария (не более 2000 символов)*:

*Все поля обязательны для заполнения.
Комментарии, содержащие рекламу, ненормативную лексику, оскорбления и т.п., а также флуд и сообщения не по теме, будут удаляться. Нарушителям может быть заблокирован доступ к сайту.
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2024
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.07 сек. / MySQL: 2 (0.0037 сек.) / Память: 4.5 Mb
Наверх