Инструменты разработчика · Free browser tool
Тестер регулярных выражений
Тестируйте и отлаживайте регулярные выражения в реальном времени с подсветкой синтаксиса, группами захвата и переключателями флагов.
Regular expression
Pattern between slashes · flags toggle on the right.
Test string
Paste the text you want to match against.
107 characters
Highlighted matches
Matching regions are marked in amber below.
Match details
3 results| # | Match | Index | $1 | $2 | $3 |
|---|---|---|---|---|---|
| 1 | hello@example.com | 14–31 | hello | example | com |
| 2 | support@quickatools.com | 35–58 | support | quickatools | com |
| 3 | alice@site.org | 92–106 | alice | site | org |
Frequently Asked Questions
Что на самом деле делают флаги g, i и m?
Флаг g (global) находит все совпадения в строке, а не останавливается после первого. Флаг i (ignore case) делает шаблон нечувствительным к регистру, поэтому /hello/i совпадает с "Hello" и "HELLO". Флаг m (multiline) меняет поведение ^ и $ — при включённом m они соответствуют началу и концу каждой строки, а не только всей строки целиком. Переключайте их прямо в инструменте, чтобы сразу увидеть разницу.
Чем совпадение отличается от группы захвата?
Совпадение (match) — это вся подстрока, которая удовлетворила шаблону. Группы захвата — это части этого совпадения, которые вы намеренно «сохранили», обернув фрагменты шаблона в скобки: например, /(\d{4})-(\d{2})-(\d{2})/ для "2026-08-07" даёт одно совпадение ("2026-08-07") и три группы ($1 = "2026", $2 = "08", $3 = "07"). Группы захвата нужны в заменах и при извлечении структурированных полей из текста.
Чем движок RegExp в JavaScript отличается от других диалектов regex?
JavaScript использует диалект на базе ECMAScript: поддерживаются lookaround, именованные группы и Unicode property escapes (с флагом u), но нет части возможностей PCRE или .NET — например, рекурсивных шаблонов или possessive quantifiers. Шаблоны, которые вы проверяете здесь, ведут себя так же, как в браузере или Node.js: если выражение работает в этом инструменте, оно так же сработает в вашем JavaScript-приложении.
Безопасно ли тестировать regex на реальном исходном коде или чувствительных данных?
Да. Компиляция шаблона, поиск совпадений, подсветка и отчёт выполняются локально встроенным движком RegExp браузера — ничего из того, что вы вставляете, не загружается, не логируется и не отправляется на сервер. Можно спокойно отлаживать валидацию форм регистрации, правила разбора логов или regex для редaction на реальных (даже чувствительных) примерах, не раскрывая текст стороннему сервису.
Инструменты, которые тоже могут понадобиться
Откройте другие бесплатные браузерные утилиты для продавцов, создателей и профессионалов.
- Инструменты разработчика
Форматирование и валидация JSON
Мгновенно форматируйте, «причесывайте», валидируйте и минифицируйте JSON с локальной подсветкой синтаксических ошибок.
Попробовать - Инструменты разработчика
Кодирование и декодирование Base64
Мгновенно кодируйте текст в Base64 или декодируйте строки Base64 обратно в текст с полной поддержкой UTF-8 и без утечки данных.
Попробовать - Инструменты разработчика
Генератор UUID/GUID
Мгновенно генерируйте криптографически стойкие токены UUID v4 с пакетными опциями и без серверного трекинга.
Попробовать
Почему живая обратная связь по regex лучше отладки «угадай и перезагрузи»
Регулярные выражения по природе плотные: пропущенный escape, жадный квантификатор или неверный флаг могут тихо совпасть не с тем (или ни с чем). Отладка вставкой в продакшен-код с перезагрузкой медленная и рискованная. Живой тестер, который подсвечивает каждое совпадение и показывает группы захвата по мере ввода, сжимает цикл обратной связи до миллисекунд — вы видите, что делают ^, $ или вложенная группа, ещё до того, как шаблон попадёт в релиз.
Такая обратная связь важна и для правил с чувствительными данными. Валидаторы форм, шаблоны редaction логов и фильтры контента часто проверяют на реальных примерах — email, телефонах, фрагментах пользовательского ввода. Отправка этого текста в сторонний regex-playground означает доверие их серверу. Этот инструмент ничего не загружает: компиляция, matching, подсветка и отчёт идут через встроенный RegExp браузера.
Поскольку движок — та же реализация ECMAScript, что в браузере и Node.js, шаблон, работающий здесь, ведёт себя так же в вашем JavaScript-приложении — включая влияние флагов g, i и m и нумерацию групп захвата. Используйте янтарную панель подсветки, чтобы заметить лишние совпадения, и таблицу matches, чтобы убедиться, что $1, $2 и остальные извлекают нужные поля.
Нужно привести пример JSON в порядок перед проверкой правила разбора? Возьмите JSON Formatter & Validator. Сначала декодировать токен? Попробуйте Base64 Encode/Decode. Сгенерировать fixture-идентификаторы для тестов? UUID/GUID Generator тоже работает полностью локально, как и этот инструмент.