Ключевые факты
- Категория
- Разработка и Web
- Типы входных данных
- text
- Тип результата
- html
- Покрытие примерами
- 4
- API доступен
- Yes
Обзор
Этот инструмент преобразует регулярные выражения JavaScript и PCRE в интерактивные железнодорожные диаграммы в формате SVG. Он наглядно визуализирует литералы, группы захвата, альтернативы и квантификаторы, помогая быстро понять структуру сложных шаблонов без необходимости расшифровывать метасимволы вручную.
Когда использовать
- •При документировании сложных регулярных выражений в технической документации или вики-проектах.
- •Для отладки запутанных шаблонов с вложенными группами захвата и ветвлениями.
- •При обучении коллег или студентов синтаксису регулярных выражений с помощью наглядных схем.
Как это работает
- •Вы вводите регулярное выражение в поле ввода и при необходимости указываете флаги.
- •Парсер преобразует строку шаблона в абстрактное синтаксическое дерево (AST).
- •Каждый элемент дерева сопоставляется с графическим примитивом: литералы становятся блоками, альтернативы — ветвлениями, а квантификаторы — циклами.
- •Инструмент генерирует готовую SVG-диаграмму, нумерует группы захвата и выводит расшифровку флагов.
Сценарии использования
Примеры
1. Визуализация регулярного выражения для URL
Веб-разработчик- Контекст
- Разработчик использует регулярное выражение для валидации и разбора URL-адресов на составляющие (протокол, хост, порт, путь).
- Проблема
- Трудно объяснить коллегам на код-ревью, за что отвечает каждая группа захвата в шаблоне ^(https?)://([^/:]+)(:\d+)?(/.*)?$.
- Как использовать
- Вставьте шаблон ^(https?)://([^/:]+)(:\d+)?(/.*)?$ в поле ввода, укажите флаг i и запустите визуализацию.
- Пример конфигурации
-
pattern: "^(https?)://([^/:]+)(:\d+)?(/.*)?$", flags: "i" - Результат
- Получена SVG-диаграмма, где четко видны четыре последовательные группы захвата, опциональный порт и протокол, а также текстовое описание флага регистронезависимости.
2. Анализ шаблона поиска Email
Системный администратор- Контекст
- Администратор настраивает правила фильтрации логов и использует регулярное выражение для поиска адресов электронной почты.
- Проблема
- Необходимо убедиться, что границы слов и символьные классы в шаблоне настроены верно.
- Как использовать
- Вставьте регулярное выражение \b(\w+[\w.-]*@\w+[\w.-]*\.\w+)\b в поле ввода и укажите флаги gi.
- Пример конфигурации
-
pattern: "\\b(\\w+[\\w.-]*@\\w+[\\w.-]*\\.\\w+)\\b", flags: "gi" - Результат
- Сгенерирована схема, показывающая границы слова, циклы повторения символов внутри имени ящика и домена, а также единую группу захвата для всего адреса.
Проверить на примерах
image, svg, regexСвязанные хабы
FAQ
Какие стандарты регулярных выражений поддерживаются?
Поддерживается синтаксис в стиле JavaScript и PCRE, включая именованные группы и проверки (lookarounds).
Можно ли сохранить полученную диаграмму?
Да, диаграмма рендерится в векторном формате SVG, который можно скопировать или использовать непосредственно в HTML.
Поддерживаются ли сложные конструкции вроде рекурсивных шаблонов?
Нет, расширенные возможности PCRE (рекурсия, \K, условные группы) не поддерживаются и вызовут ошибку парсинга.
Как на диаграмме обозначаются группы захвата?
Группы захвата выделяются рамками с указанием их порядкового номера или имени.
Зачем нужна расшифровка флагов?
Она помогает быстро понять глобальное поведение регулярного выражения (например, регистронезависимость или многострочный поиск) без обращения к справочникам.