Тестер регулярных выражений

Тестируйте регулярные выражения JavaScript с подсветкой совпадений в реальном времени, просмотром групп захвата и предварительным просмотром замен. Идеальный инструмент для отладки и изучения regex.

/ /

  
Популярные шаблоны

Возможности

Подсветка в реальном времени
Поддержка флагов g, i, m, s
Сведения о группах совпадений
Справочник частых шаблонов
Функция замены

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

1. Введите регулярное выражение в верхнее поле.

2. Выберите флаги (g, i, m, s).

3. Введите тестовый текст ниже — совпадения подсвечиваются в реальном времени.

4. Перейдите на вкладку «Замена» для предварительного просмотра замен.

Об этом инструменте

Регулярные выражения — мощный инструмент, в котором печально легко допустить тонкую ошибку. Этот тестер выполняет шаблон собственным движком регулярных выражений JavaScript — тем же, что в браузерах и Node.js, — и подсвечивает каждое совпадение в тестовом тексте по мере ввода. В подробностях перечислены все совпадения с позициями и значениями каждой группы захвата, а панель замены показывает предварительный результат подстановки с $1, $2 и другими ссылками на группы. Флаги включаются одним нажатием: g ищет все совпадения, i игнорирует регистр, m заставляет ^ и $ работать построчно, а s позволяет точке совпадать с переносами строк. Небольшая библиотека типовых шаблонов для адресов почты, URL, телефонов, дат, шестнадцатеричных цветов и адресов IPv4 даёт основу для доработки.

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

Какой диалект регулярных выражений используется?
JavaScript (ECMAScript). Большая часть синтаксиса совпадает с PCRE, Python и Java, но некоторые возможности отличаются — например, сверхжадные квантификаторы и отдельные варианты синтаксиса ретроспективной проверки или именованных групп. Если шаблон будет работать в другом месте, проверьте его на целевом языке.
Что делают флаги g, i, m и s?
g возвращает все совпадения, а не только первое, i делает поиск нечувствительным к регистру, m заставляет ^ и $ совпадать с началом и концом каждой строки, а s позволяет . совпадать с символами переноса строки.
Как работают группы захвата и $1 при замене?
Скобки захватывают совпавший текст. В строке замены $1 вставляет первую группу, $2 — вторую, а $& — всё совпадение целиком. Например, (\w+)@(\w+) с заменой на $2 at $1 превращает user@example в example at user.
Почему шаблон захватывает слишком много?
Квантификаторы вроде .* и .+ жадные и забирают как можно больше текста. Добавьте ?, чтобы сделать их ленивыми (.*?), или используйте более конкретный класс символов вроде [^"]*, чтобы остановиться в нужном месте.
Надёжно ли проверять адреса электронной почты регулярным выражением?
Регулярное выражение отловит очевидные опечатки, но полный синтаксис допустимого адреса слишком сложен для практичного шаблона. Используйте простую проверку и подтверждайте адрес письмом со ссылкой.

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