Перейти к содержимому
Toova
Все инструменты

Тестировщик и отладчик regex

Приватность по умолчанию — работает полностью в вашем браузере

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

Живые совпадения и группы захвата

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

Режим замены

Переключитесь в режим замены и введите строку замены. Панель вывода показывает преобразованный текст в реальном времени. Группы захвата доступны как $1, $2, именованные группы — как ${name}. Это правильный инструмент для прототипирования операций поиска и замены перед применением к кодовой базе или столбцу базы данных: сначала увидьте результат, потом применяйте там, где это важно.

Только в браузере, без загрузки

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

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

Какой синтаксис регулярных выражений поддерживается?
Движок регулярных выражений JavaScript, который также используется в Node.js. Это охватывает большинство современных веб-стеков. Поддерживаются просмотр назад, именованные группы и экранирование свойств юникода.
Что означают флаги?
g находит все совпадения (не только первое). i — без учёта регистра. m делает ^ и $ совпадающими с границами строк. s позволяет . совпадать с переносами строк. u включает режим юникода. y делает регулярное выражение sticky для конкретной позиции.
Можно ли видеть значения групп захвата?
Да. Наведите курсор на любое совпадение, чтобы увидеть нумерованные и именованные группы захвата. В режиме замены $1, $2 и ${name} подставляют захваченный текст в вывод.
Почему моё регулярное выражение медленно работает на этом вводе?
Обычно это катастрофический откат — вложенные квантификаторы, например (a+)+, могут экспоненциально раздуваться на определённых входных данных. Toova предупреждает о подозрительных шаблонах, прежде чем они зависнут страницу.
Отправляется ли моё регулярное выражение на сервер?
Нет. Вычисление выполняется полностью в вашем браузере. Шаблон и тестовый текст никогда не покидают страницу, журналирование ни одного из них отсутствует.