Тестер регулярных выражений: тест и отладка | Morph

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

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

Что вы получаете

Зачем тестировать регулярные выражения в браузере

Работа с регулярками — это цикл «написал — проверил»: нетривиальный паттерн редко получается с первого раза. Специализированный тестер сводит этот цикл к минимуму — меняете паттерн, сразу видите результат. Делая это во вкладке браузера, не нужно открывать REPL или писать одноразовый скрипт только для того, чтобы проверить, действительно ли класс символов работает так, как задумано.

Это ещё и приватно — для регулярок это важнее, чем кажется. Текст, с которым вы сверяете паттерн, часто оказывается реальными данными: строки логов продакшена, записи клиентов, внутренние пути к файлам. Тестер регулярных выражений Morph работает полностью на стороне клиента, поэтому этот текст никогда не покидает ваш браузер. Ничего не загружается на сервер, и регистрировать аккаунт не нужно.

Стройте паттерны уверенно

Начните с простого и наращивайте паттерн шаг за шагом, проверяя каждый этап по подсветке. Используйте группы захвата, чтобы вытащить нужные части — дату, ID, домен, — и сверяйтесь с разбором групп, чтобы убедиться, что каждая захватывает правильный фрагмент. Переключайте флаги, чтобы учитывать регистр или сканировать несколько строк. Когда паттерн находит именно то, что нужно, и ничего лишнего, скопируйте его в свой код, в поиск-и-замену редактора или в инструмент командной строки.

Для работы со структурированными данными после извлечения хорошо подойдёт форматтер JSON, а редактор markdown пригодится, когда нужно задокументировать созданные паттерны. Тестер регулярных выражений — то место, где выражение доводят до ума перед тем, как пустить его в дело.

Как использовать

  1. Откройте тестер регулярных выражений — Перейдите на страницу тестера регулярных выражений. Поле для паттерна и область с примером текста загружаются мгновенно прямо в браузере — регистрация не требуется.
  2. Введите паттерн — Впишите регулярное выражение в поле паттерна. Некорректный синтаксис помечается сразу, так что ошибку можно исправить на месте.
  3. Вставьте тестовый текст — Вставьте текст, с которым нужно сверить паттерн, — строки логов, строки CSV, URL или любые реальные данные. Совпадения подсвечиваются по мере ввода.
  4. Настройте флаги — Переключайте флаги — глобальный, без учёта регистра, многострочный — чтобы управлять тем, как паттерн применяется к тексту.
  5. Проверьте группы захвата — Просмотрите разбор групп захвата, чтобы убедиться, что каждая группа извлекает нужный фрагмент, а затем скопируйте готовый паттерн в свой код.

Часто задаваемые вопросы

Этот тестер регулярных выражений бесплатный?

Да. Составлять и тестировать регулярные выражения в браузере можно бесплатно, без аккаунта и регистрации.

Загружается ли мой тестовый текст куда-нибудь?

Нет. Тестер полностью работает на стороне клиента, в вашем браузере. Паттерн и вставленный текст остаются на вашем устройстве и никогда не отправляются на сервер.

Какой синтаксис регулярных выражений используется?

Используются регулярные выражения JavaScript — тот же движок, что работает в браузерах и Node.js. Большинство распространённых конструкций — классы символов, квантификаторы, группы, лукахеды — работают как ожидается.

Можно ли увидеть, что нашла каждая группа захвата?

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

Почему мой паттерн не находит совпадений?

Частые причины — отсутствующий флаг (например, без учёта регистра или многострочный), неэкранированный спецсимвол или жадный квантификатор, захватывающий слишком много. Подсветка в реальном времени и предупреждения о некорректных паттернах помогают понять, в чём дело.

Похожие инструменты

Открыть Тестер регулярных выражений: тест и отладка | Morph →