IT
Тестер регулярных выражений с заменой по группам
Регекс-песочница: тестируйте регулярные выражения JavaScript, видите все совпадения, группы захвата, режим замены. Поддерживает все флаги (gimsuy) и предупреждения о catastrophic backtracking.
Справочник по расчёту
Об инструменте
Что делает этот инструмент
Песочница для регулярных выражений: пишете шаблон, флаги и тестовый текст - и сразу видите совпадения, группы захвата и позиции. Есть режим замены с обратными ссылками и предупреждения о медленных конструкциях.
Все совпадения с координатами в строке и группами захвата.
Поддержка стандартных JavaScript-флагов: g, i, m, s, u, y.
Режим замены с подстановками $1, $2 - удобно проверять рефакторинг.
Изолированное выполнение с жёстким таймаутом и предупреждением о катастрофическом переборе.
Шаг за шагом
Как пользоваться
- Введите шаблон без обрамляющих слешей: например, [a-z]+ или \d{4}.
- Поставьте флаги: g - искать все совпадения, i - без учёта регистра, m - построчно.
- Вставьте тестовый текст - таблица совпадений обновится сразу.
- Для замены включите тумблер и впишите шаблон с группами $1, $2.
Подходит для
- Проверка email, телефонов, ИНН - что валидация ничего не пропускает.
- Извлечение данных из логов: IP-адреса, статус-коды, временные метки.
- Массовая замена в больших текстах перед коммитом.
- Отладка регулярок из бэкенд-кода без запуска сервера.
Ограничения
Точность и ограничения
Используется встроенный JavaScript-движок - поведение совпадает с тем, что запускается в браузере и Node.
Поведение в Python, PHP и Perl местами отличается, особенно для lookbehind и Unicode-классов.
Шаблоны вида (.+)+ блокируются эвристикой, а остальные выражения выполняются в Web Worker не дольше двух секунд.
Советы
Советы и нюансы
Прогоняйте регулярку на крайних случаях - пустые строки, символы Unicode, очень длинный ввод.
Сложные шаблоны документируйте комментарием: через три месяца не вспомните, что они делают.
В Python и Perl ставьте флаг x - он разрешает многострочные регулярки с комментариями.
Вопросы
Вопросы и ответы
JavaScript не поддерживает условные группы (?if-then-else), а Python поддерживает. Lookbehind в JavaScript появился только с ES2018.
Если у вас есть конструкции вида (.+)+ или (a|a)+, движок может экспоненциально перебирать варианты. Инструмент останавливает слишком долгий запуск, не блокируя вкладку.
Используйте якоря ^ и $, конкретизируйте классы ([a-z] вместо .), избегайте вложенных квантификаторов.
Лучше нельзя - HTML не регулярный язык. Используйте DOMParser в браузере или cheerio на бэкенде.
Ещё
Похожие инструменты
- Скорость загрузкиРазмер файла, скорость канала и время скачивания или выгрузки.
- Генератор QR-кодовQR для ссылки, текста, Wi-Fi, контакта, телефона, email, SMS и геолокации.
- Исключить IP из сетиРазбить CIDR-сеть на диапазоны после исключения одного IP.
- Исключить подсеть из сетиПолучить остаточные CIDR-блоки после вычитания подсети.