Regexponline анализатор и конструктор регулярных выражений icon

Regexponline анализатор и конструктор регулярных выражений


Скачать 11.68 Kb.
НазваниеRegexponline анализатор и конструктор регулярных выражений
Размер11.68 Kb.
ТипДокументы

Regexponline - анализатор и конструктор регулярных выражений

Для тех, кому лень читать много букв: удобный инструмент для составления и анализа регулярных выражений. Находится по адресу http://regexponline.com/. Пользуйтесь Хромом.

Есть одна старая шутка: «если у вас есть проблема, и вы собираетесь решать ее с использованием регулярных выражений, то у вас есть две проблемы». Действительно, регулярные выражения – очень мощный и гибкий инструмент, применяемый для решения весьма широкого круга задач. Но, как водится, для поддержания баланса, такой серьёзный инструмент имеет весьма недружелюбный вид. 

(<([a-z]+[^>]*)>)(.*)()


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

Когда-то и мне пришлось по долгу службы подружиться с регулярными выражениями. Прочитав Фридла и пару статей на Хабрахабре, я, конечно, начал понимать этот синтетический язык. Тем не менее, каждый раз, когда приходилось написать новую регулярку (которые обычно были длинные и мудрёные), я мечтал о том, чтобы это делалось в автоматическом (или хотя бы полуавтоматическом) режиме за меня. Существующие сервисы приносили мало пользы. Как раз тогда я и начал разрабатывать этот проект.

Итак, regexponline – инструмент, способный наглядно изобразить структуру регулярного выражения, разобрав его по элементарным компонентам; продемонстрировать совпадающие и не совпадающие его части; помочь в написании и отладке выражения, которое почему-то не совпадает с нужной строчкой.

Предлагаю вам сначала вкратце познакомиться с этой тулзой, после чего я расскажу о том, как я всё это написал и какие технологии и подходы использовал.

Для примера возьмём этот ужас из рамочки сверху и убедимся, что это вполне осмысленное выражение, которое многим из вас наверняка когда-нибудь пригодится.

Открываем браузер (желательно хром свежей версии, в других браузерах пока досконально не тестировал, поэтому может не работать), вводим адресhttp://regexponline.com/. Вуаля. Интерфейс системы состоит из трёх логических блоков – сверху вбиваем строчки, на которых будем тестировать регулярное выражение, посередине собственно саму регулярку (по умолчанию там появится уже знакомое нам выражение), снизу в виде таблицы будет показываться структура регулярного выражения и совпавший с ним текст. Попробуйте навести мышку на любую часть регулярки. В строчках тут же подсветится совпадающая часть. Все блоки раскрашены в разные цвета, одинаковый цвет означает один уровень вложенности (группировка происходит по скобкам, т.е. скобка внутри скобки – это один уровень вложенности). Серый – нулевой (т.е. всё регулярное выражение или вся строчка целиком), розовый – первый, зелёный – второй, и так далее. Все строчки и регулярка редактируются по двойному клику. В общем, лучше всего понять структуру регулярного выражения можно, поводив мышкой туда-сюда по всем блокам. Другой, более наглядный способ – нажать на кнопку «expand regex». Регулярное выражение разложится на составляющие, сгруппированные по уровню вложенности.

Думаю, уже стало понятно, что это за регулярное выражение. Оно совпадает со строчками, представляющими из себя открывающий и закрывающий html-тег и контент между ними.

Очень часто бывает удобно присваивать группам имена. Тогда на выходе мы получаем массив совпадений, проиндексированных не только по порядку, но и этим именам. В regexponline это делать особенно удобно. Надо просто кликнуть на нужную группу и в появившемся поп-апе нажать «rename». Регулярное выражение, конечно, удлиняется, зато сразу становится понятен смысл каждой группы. Посмотрите на скриншот, разве тут ещё остаются вопросы, что к чему? :-)

regexponline

Ещё одна небольшая, но очень удобная фича – редактирование в реальном времени. В этом режиме все изменения регулярного выражения применяются прямо на лету, не нужно обновлять страницу, не нужно двойного клика, не нужно жать «ОК» — поправил регулярку, через секунду увидел обновлённый результат. Крайне удобно при отладке плохо работающего регэкспа.

Если при рефакторинге чужого кода вы нашли регулярное выражение, которое делает непонятно что – открывайте этот сервис, копипастите его туда, и разобраться станет намного проще.

Теперь о закулисье. В этом проекте я использовал php и yii framework (потому что его же использую при разработке своего проекта на работе и хотел лишний раз с ним поиграться), легко узнаваемый twitter bootstrap (легко и быстро создавать приятные глазу интерфейсы). Все запросы на изменение или добавление строчек, получение результатов парсинга регулярного выражения осуществлено аяксом, это позволяет добиться нужного эффекта интерактивности. Если в своём браузере включите дебаггер и посмотрите содержимое XHR-ответов, увидите что сервер присылает результат парсинга уже готовым HTML – на клиенте остаётся лишь сделать $(element).html(response). Разумеется, не обошлось без jQuery и нескольких плагинов к нему. Диалект – PCRE(Perl-совместимые регулярные выражения). Строчки и регулярка хранятся в сессионном хранилище, поэтому если вы нажмёте F5, данные не потеряются. Но после закрытия браузера все данные придётся вводить заново.

P.S.

Друзья, это молодой проект, в котором ещё многое предстоит сделать, многое доработать. В некоторой не очень далёкой перспективе я планирую выложить его в паблик. В сети есть несколько аналогичных сервисов, но у всех у них есть серьёзный недостаток – ими неудобно пользоваться. Как только регулярное выражение становится сложнее, чем

^\d+$

, в нём становится очень тяжело разобраться. Конкурентное преимущество моего инструмента заключается в человекопонятном интерфейсе, интерактивности, сравнительной простоте использования. Если среди вас найдутся желающие присоединиться к разработке, велкам! Нужны люди, интересующиеся и разбирающиеся в:

  • Js, html, css;

  • Регулярные выражения, конечно же;

  • Php;

  • Пользовательские интерфейсы, юзабилити.


Пишите, будем развивать этот проект вместе!

Спасибо за внимание, жду вашей критики, вопросов и предложений.

Автор: Илья Пеняев

Похожие:

Regexponline анализатор и конструктор регулярных выражений iconRegexponline анализатор и конструктор регулярных выражений
Для тех, кому лень читать много букв: удобный инструмент для составления и анализа регулярных выражений. Находится по адресу
Regexponline анализатор и конструктор регулярных выражений iconКонкурс на вакансию Главный конструктор
Проектная организация ООО "Реал-Эстейт" объявляет конкурс на вакансию Главный конструктор
Regexponline анализатор и конструктор регулярных выражений iconКонкурс на вакансию Ведущий инженер-конструктор
Проектная организация ООО "Реал-Эстейт" объявляет конкурс на вакансию Ведущий инженер-конструктор
Regexponline анализатор и конструктор регулярных выражений iconСписок выражений

Regexponline анализатор и конструктор регулярных выражений iconТема: Преобразование степенных и иррациональных выражений

Regexponline анализатор и конструктор регулярных выражений iconРадислав Иванович Гандапас Презентационный конструктор
Несколько рекомендаций, которые помогут сделать презентацию более успешной 123
Regexponline анализатор и конструктор регулярных выражений iconЛекция №7 Вестибулярный анализатор
Л. А. Лучихин Кафедра лор-болезней (зав член-корр. Рамн проф. В. Т. Пальчун) лечебного факультета ООО впо ргму
Regexponline анализатор и конструктор регулярных выражений iconЛекция №6 Слуховой анализатор
Л. А. Лучихин Кафедра лор-болезней (зав член-корр. Рамн проф. В. Т. Пальчун) лечебного факультета ООО впо ргму
Regexponline анализатор и конструктор регулярных выражений iconПодбор семантического ядро за 1 клик!
Достаточно внести свой сайт в Анализатор (a megaindex ru), и открыть вкладку нового инструмента «Подбор запросов»
Regexponline анализатор и конструктор регулярных выражений iconСоциальная сеть-конструктор , состоящая из сервисов для создания и компоновки видео сервисов - виртуальнах переговорных , трансляций, вебинаров, теле-магазинов и пр., контент которых можно вещать на внешнюю аудиторию, превращая свою частную деловую среду и её деятельность в телеканал. Для ма
Социальная сеть-конструктор, состоящая из сервисов для создания и компоновки видео сервисов виртуальнах переговорных, трансляций,...
Regexponline анализатор и конструктор регулярных выражений icon4вар 1-ддт
Ддт-блокир чувствит нервных оконч почти олная анастезия стимуир тканевой обмен,рассас отеков.,действует на болевой анализатор(расшир...
Вы можете разместить ссылку на наш сайт:
Документы


При копировании материала укажите ссылку ©ignorik.ru 2015

контакты
Документы