* Ваши данные не передаются на сервер. Все вычисления выполняются прямо в браузере
Введите шаблон регулярного выражения для начала

Что такое тестер Regex?

Тестер regex (регулярных выражений) — интерактивный инструмент для создания и проверки шаблонов регулярных выражений на образце текста в реальном времени.

По мере ввода совпадения подсвечиваются прямо в тексте, а детальный список показывает каждое совпадение с позицией, захваченными группами и длиной.

Этот инструмент работает полностью в вашем браузере — данные никогда не отправляются на какой-либо сервер.

Ключевые возможности

  • Подсветка совпадений в реальном времени — совпадения визуально выделяются в тексте чередующимися цветами.
  • Инспекция захватывающих групп — просмотр именованных и пронумерованных групп для каждого совпадения.
  • Предпросмотр замены — тестирование поиска и замены с поддержкой токенов $1, $& и '$<name>'.
  • Объяснение шаблона — токен-уровневый разбор regex с пояснением каждой части (например, \d+ → «одна или более цифр»).
  • Защита от катастрофической обратной трассировки — сопоставление выполняется в фоновом потоке с тайм-аутом, так что плохие шаблоны не заморозят страницу.
  • Библиотека пресетов — быстрый старт с популярными шаблонами для email, URL, IP, телефона, паролей и других.

Типичные сценарии

  • Изучение regex — посмотрите, как каждый токен участвует в сопоставлении, и проверьте понимание на образце текста.
  • Отладка — вставьте существующий regex и проверьте его на реальных данных.
  • Извлечение данных — используйте захватывающие группы для извлечения нужных фрагментов из логов, CSV или структурированного текста.
  • Поиск и замена — предпросмотр сложных текстовых преобразований перед применением в коде.
  • Валидация — проверка шаблонов для email, телефона, URL и других форматов на граничных случаях.

Шпаргалка

ТокенЗначениеПример
Классы символов
\dЛюбая цифра (0-9)123 → matches 1,2,3
\wЛюбой символ слова (a-z, A-Z, 0-9, _)a1_ → matches a,1,_
\sЛюбой пробельный (пробел, табуляция, перевод строки)"a b" → space match
[...]Пользовательский класс символов[aeiou] → vowels
[^...]Инвертированный класс символов[^0-9] → non-digits
Якоря и границы
^Начало строки"^hello" → at start
$Конец строки"end$" → at end
\bГраница слова"\bword\b" → word
\BНе граница слова"\Bing\B" → inside
Квантификаторы
*Ноль или болееa* → "", a, aa, aaa
+Один или болееa+ → a, aa, aaa
?Ноль или одинa? → "", a
{n}Ровно na{3} → aaa
{n,}Не менее na{2,} → aa, aaa
{n,m}От n до ma{2,4} → aa, aaa, aaaa
*?, +?, ??Ленивый вариант (минимальное совпадение)"<.*?>" → shortest match
Группы и заглядывания
(...)Захватывающая группа(abc)+ → capture abc
(?:...)Незахватывающая группа(?:abc)+ → group w/o capture
(?<name>...)Именованная захватывающая группа"(?<year>\d{4})"
(?=...)Положительное опережающее заглядываниеq(?=u) → q followed by u
(?!...)Отрицательное опережающее заглядываниеq(?!u) → q not followed by u
(?<=...)Положительное ретроспективное заглядывание"(?<=@)\w+"
(?<!...)Отрицательное ретроспективное заглядывание"(?<!@)\w+"
Экранирование
\nПеревод строки"line\n" → newline
\tТабуляция"col\t" → tab
\\Литеральный обратный слеш"c:\\path"
\.Литеральная точка"end\." → literal dot
\/Литеральный прямой слеш"path\/to\/file"

Ограничения

  • Только JavaScript regex — инструмент использует встроенный движок regex браузера. PCRE, Python и другие диалекты могут вести себя иначе.
  • Нет ретроспективного заглядывания в старых браузерах — утверждения (?<=...) требуют ES2018+. Safari добавил поддержку только в 2023 году.
  • Лимит в 1 000 совпадений — для отзывчивости интерфейса отображаются только первые 1 000 совпадений.
  • Захватывающие группы не подсвечиваются в тексте — группы показываются в списке совпадений, а не в самом тексте.