vasilenko.info

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

/tool/regex-tester/ работает проверяет браузер

Впишите шаблон и текст — совпадения подсветятся сразу, с номерами групп и позициями. Рядом появится разбор: каждый кусок выражения отдельной строкой и объяснение по-русски, что он делает. Синтаксис PCRE, Python, Go, .NET и Java переводится сам, а различия между движками выписываются списком. Шаблон выполняется в отдельном потоке с ограничением по времени, поэтому вкладка не зависнет даже на выражении с вложенными квантификаторами.

промоДвадцать лет заметок про сайтыКак это делали в 2008-м и что из этого работает сейчас.Открыть

Шаблон и текст

Движок

Выражение всё равно выполняет движок браузера — своего PHP или Python у страницы нет. Но запись чужого движка переводится в понятную браузеру форму, а всё, что не переводится, выписывается отдельным списком под разбором.

Флаги

Позиции групп читаются флагом d — он включён всегда и переключателя не требует.

Тело выражения без косых черт по краям. Флаги задаются переключателями выше. Разбор шаблона и подсветка синтаксиса — в разделе ниже.

Шпаргалка по синтаксису — вставить знак Свернуть шпаргалку

Готовый шаблон

    Ставит и выражение, и подходящий текст для проверки — переписывать ничего не надо.

    Перетащите сюда текстовый файл — или выберите его

    До 200 000 знаков текст ещё и подсвечивается. Дальше подсветка снимается, а поиск и таблица совпадений работают до 8 МБ.

    Что делаем с текстом

    Совпадения — подсветка и таблица. Список — только тексты совпадений, по строке на каждое. Замена — результат замены целиком. Разбить — то, что осталось между совпадениями.

    Совпадения в тексте

    подсвечено

    Готово JavaScript

        Совпадений
        Групп в шаблоне
        Знаков в тексте
        Проб старта
        Разбор занял

        Шаблон выполняется на вашем устройстве, в отдельном потоке, с ограничением по времени. Ни шаблон, ни текст, ни файл, который вы перетащили, никуда не отправляются: после загрузки страница не делает ни одного сетевого запроса.

        Разбор шаблона

        Выражение разложено на части: каждая строка — кусок шаблона и то, что он делает. Наведите на строку разбора — соответствующий кусок подсветится в самом шаблоне. Цвет группы здесь тот же, что у её столбца в таблице совпадений.

        шаблон

        Чем ваш движок отличается от браузерного

        Все совпадения

        Таблица со всеми совпадениями: позиция, длина, содержимое каждой группы. Столбцы можно копировать по одному, а всю таблицу — выгрузить файлом.

        Порядок строк
        Совпадения

        Скопировать один столбец

        Готовый код

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

        Язык
        regex.js

        Устойчивость шаблона

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

        Не проверялось

        промоПосчитайте заодно ROIОкупаемость кампании по расходу и доходу.Открыть

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

        1. Возьмите готовый шаблон или впишите свой

          В ряду «Готовый шаблон» лежат email, телефон, ИНН, СНИЛС, URL, IPv4 и IPv6, даты, время, HEX-цвет, UUID, номер карты, домен и автомобильный номер. Каждый пресет ставит и выражение, и текст для проверки — переписывать ничего не надо. Свой шаблон вписывается телом, без косых черт по краям: не «/\d+/g», а «\d+», а флаг g ставится переключателем.

        2. Выберите движок, если пишете не на JavaScript

          PCRE (PHP), Python re, Go RE2, .NET и Java записывают именованные группы, границы текста и просмотры немного иначе. Выберите свой движок — запись переведётся автоматически, а всё, что не переводится, будет выписано под разбором отдельным списком. Выполняет выражение всё равно браузер: своего PHP у страницы нет, и врать об этом незачем.

        3. Читайте разбор шаблона

          Раздел «Разбор шаблона» раскладывает выражение на части и подписывает каждую по-русски: «\d{4} — ровно четыре цифры», «(?: — группирует, номер не занимает», «(?<= — просмотр назад». Наведите на строку разбора — нужный кусок подсветится в самом шаблоне. Если выражение не собралось, под шаблоном встанет каретка ровно на том знаке, где движок сдался.

        4. Переключите режим под задачу

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

        5. Заберите результат файлом или ссылкой

          Таблица совпадений выгружается в TXT, CSV и JSON целиком, а не первыми тридцатью строками. Кнопка «Ссылка на этот разбор» кладёт шаблон, флаги, текст и строку замены в адрес страницы — такую ссылку можно переслать коллеге, и у него откроется ровно то же самое.

        6. Проверьте шаблон на устойчивость

          Кнопка в разделе «Устойчивость шаблона» прогоняет выражение на строках растущей длины и рисует, как растёт время. Линейный рост — шаблон безопасен. Учетверение времени при удвоении длины — квадратичный рост. Скачок в разы — то самое выражение, которое однажды положит сервер запросом из формы.

        промоСписок задач в браузереБез аккаунта, всё хранится на вашем устройстве.Открыть

        Формула и что в неё входит

        движок + шаблон + флаги + текст → совпадения, группы и позиции

        Выражение выполняет движок браузера. Запись PCRE, Python, Go, .NET и Java переводится в его форму: «(?P<имя>» становится «(?<имя>», «\A» и «\z» — просмотрами по краям текста, «\h» и «\R» — наборами знаков, атомарная группа «(?>» — обычной. Что не переводится — рекурсия, условные группы, притяжательные квантификаторы — выписано списком под разбором, чтобы это не выяснялось уже на бою.

        Разбор примера: даты в формате год-месяц-день

        Исходные данные — те же, что стоят в полях по умолчанию: их можно пересчитать в уме и убедиться, что инструмент не врёт.

        1. Разбор шаблона показывает семь строк: три группы, в каждой «\d» с количеством повторов, между ними два дефиса.

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

        3. Каждая дата — 10 знаков: четыре цифры, дефис, две цифры, дефис, две цифры.

        4. Первое совпадение начинается на позиции 6: слово «Релиз» занимает пять знаков, дальше пробел.

        5. Замена меняет порядок групп местами и ставит точки вместо дефисов.

        Находится 3 совпадения, групп 3. Первое — 2026-08-17 на позиции 6, у группы 1 своя позиция 6–10. После замены первая строка выглядит так: Релиз 17.08.2026, откат 19.08.2026. В разделе «Готовый код» тот же шаблон уже лежит внутри preg_replace с подобранным разделителем.

        Частые вопросы

        промоВесь каталог инструментовСорок четыре штуки, все считают в браузере.Открыть

        Смежные инструменты

        6

        Генератор паролей

        Делает пароли нужной длины и оценивает, насколько их сложно подобрать.

        Открыть

        URL-кодирование

        Экранирует адреса и параметры и разбирает их обратно.

        Открыть

        Хеши MD5 и SHA

        Считает MD5, SHA-1, SHA-256 и SHA-512 от строки или файла.

        Открыть