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