* Ваши данные не передаются на сервер. Все вычисления выполняются прямо в браузере
Введите шаблон регулярного выражения для начала
Что такое тестер 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} | Ровно n | a{3} → aaa |
| {n,} | Не менее n | a{2,} → aa, aaa |
| {n,m} | От n до m | a{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 совпадений.
- Захватывающие группы не подсвечиваются в тексте — группы показываются в списке совпадений, а не в самом тексте.