Regex-тестер
на русском языке
Что такое регулярные выражения
Регулярные выражения (regex, regexp) — это формальный язык поиска и манипуляции текстом с помощью шаблонов. Они позволяют описывать сложные паттерны одной строкой, заменяя десятки строк кода. Regex используется в каждом языке программирования, текстовом редакторе и командной оболочке.
Истоки: Клини и Томпсон
Математик Стивен Клини в 1956 году формализовал концепцию регулярных множеств. В 1968 году Кен Томпсон реализовал алгоритм сопоставления в текстовом редакторе QED, а затем в легендарном инструменте grep в Unix. Так regex стали стандартом обработки текста.
Как работает движок
Regex-движок преобразует шаблон в конечный автомат (NFA или DFA), который посимвольно обходит входной текст. NFA-движки (JavaScript, Python, Java) поддерживают обратные ссылки и lookaround, но могут быть подвержены катастрофическому бэктрекингу при неудачных паттернах.
Стандарты: POSIX и PCRE
Существуют два основных стандарта: POSIX (базовый BRE и расширенный ERE) используется в Unix-утилитах, а PCRE (Perl Compatible Regular Expressions) стал основой для JavaScript, Python, PHP и других языков. Наш тестер использует движок JavaScript RegExp.
Где применяются регулярные выражения
Regex — универсальный инструмент, без которого невозможна современная разработка, аналитика и автоматизация обработки данных.
Валидация данных
Проверка формата email, телефона, ИНН, даты, URL и других данных. Regex позволяет описать допустимый формат одной строкой и мгновенно валидировать пользовательский ввод в формах.
Поиск и замена
Массовая замена текста по шаблону в редакторах (VS Code, Sublime Text, IntelliJ IDEA), командной строке (sed, awk, grep) и скриптах. Экономит часы ручной работы.
Парсинг и извлечение
Извлечение структурированных данных из неструктурированного текста: парсинг логов, HTML, CSV, конфигов. Группы захвата выделяют нужные фрагменты автоматически.
Веб-скрапинг
Извлечение данных с веб-страниц: цены, контакты, каталоги товаров. Regex дополняет CSS-селекторы и XPath, работая с текстовым содержимым элементов.
Анализ логов
Фильтрация и агрегация серверных логов: поиск ошибок, извлечение IP-адресов, анализ времени ответа. Инструменты мониторинга (ELK, Grafana Loki) опираются на regex.
Информационная безопасность
Обнаружение подозрительных паттернов: SQL-инъекции, XSS-атаки, утечки данных (номера карт, пароли в логах). WAF-правила и SIEM-системы активно используют regex.
Синтаксис regex/ справочник
Основные конструкции регулярных выражений JavaScript. Все примеры можно протестировать в нашем тестере выше.
Символьные классы
Определяют набор символов для сопоставления. Точка . совпадает с любым символом, \d — с цифрой, \w — с буквой, цифрой или подчеркиванием, \s — с пробельным символом. Квадратные скобки [а-яА-Я] задают собственный набор — например, только кириллические буквы.
/[а-яА-ЯёЁ]+/g — найти все русские словаКвантификаторы
Указывают количество повторений: * (0+), + (1+), ? (0 или 1), {n} (ровно n), {n,m} (от n до m). По умолчанию жадные — захватывают максимум. Добавьте ? для ленивого поведения.
/\d{2,4}/g — последовательности из 2-4 цифрЯкоря и границы
Якоря не совпадают с символами, а обозначают позицию: ^ — начало строки, $ — конец строки, \b — граница слова. С флагом m якоря работают для каждой строки многострочного текста.
/^\d+$/gm — строки, состоящие только из цифрГруппы и lookaround
Круглые скобки () создают группу захвата, доступную через $1, $2... в замене. Именованные группы (?<name>...) повышают читаемость. Lookahead (?=...) и lookbehind (?<=...) проверяют контекст без захвата.
/(?<day>\\d{2}).(?<month>\\d{2}).(?<year>\\d{4})/g — дата с именованными группамиШаблоны для российских данных
Готовые регулярные выражения для валидации и парсинга данных, специфичных для российского рынка. Все паттерны протестированы и готовы к использованию в проектах.
Телефон РФ (+7 / 8)
/^(\+7|8)[\s-]?\(?\d{3}\)?[\s-]?\d{3}[\s-]?\d{2}[\s-]?\d{2}$/Поддерживает форматы: +79031234567, 8-903-123-45-67, +7 (903) 123 45 67
/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/Базовая проверка формата. Для production рекомендуется отправка подтверждения
ИНН юридического лица
/^\d{10}$/10 цифр. Для полной проверки используйте алгоритм контрольной суммы
ИНН физического лица
/^\d{12}$/12 цифр. Две контрольных цифры вычисляются по весовым коэффициентам
Паспорт РФ
/^\d{2}\s?\d{2}\s?\d{6}$/Серия (4 цифры) + номер (6 цифр), с пробелами или без
Дата DD.MM.YYYY
/^(0[1-9]|[12]\d|3[01])\.(0[1-9]|1[0-2])\.(19|20)\d{2}$/Проверяет диапазоны дня (01-31), месяца (01-12) и века (19xx-20xx)
СНИЛС
/^\d{3}-\d{3}-\d{3}\s?\d{2}$/Формат XXX-XXX-XXX XX. Контрольная сумма проверяется отдельным алгоритмом
Почтовый индекс РФ
/^\d{6}$/6 цифр. Первые три — код зоны, последние три — номер отделения
Советы по работе с regex
Практические рекомендации, которые помогут писать эффективные и поддерживаемые регулярные выражения.
Начинайте с простого
Пишите regex итеративно: сначала простой паттерн, затем добавляйте детали. Тестируйте на каждом шаге, чтобы не запутаться в сложном выражении.
Используйте именованные группы
Конструкция (?<name>...) делает код читаемым. Вместо match[1] вы пишете match.groups.name, и намерение сразу понятно.
Остерегайтесь жадности
Квантификаторы * и + по умолчанию жадные — захватывают максимум. Для минимального захвата добавьте ?: .*? вместо .* при работе с HTML-тегами.
Экранируйте спецсимволы
Символы . * + ? ^ $ { } [ ] ( ) | \ имеют особое значение. Для литерального совпадения ставьте обратный слеш: \. \* \+
Избегайте катастрофического бэктрекинга
Паттерны вида (a+)+ или (a|a)+ на длинных строках без совпадения вызывают экспоненциальный рост времени. Тестируйте на больших входных данных.
Используйте флаг u для Unicode
Без флага u JavaScript не распознаёт суррогатные пары. Для корректной работы с эмодзи и кириллицей включайте Unicode-режим.
Как пользоваться тестером
Пошаговая инструкция по работе с нашим инструментом проверки регулярных выражений.
Введите паттерн
Впишите регулярное выражение в поле ввода или выберите один из готовых шаблонов (email, телефон, ИНН и др.).
Настройте флаги
Включите нужные флаги: g (глобальный поиск), i (без учёта регистра), m (многострочный), s (dotall), u (Unicode).
Вставьте текст
Введите или вставьте тестовую строку. Совпадения подсветятся жёлтым автоматически в реальном времени.
Изучите результат
Посмотрите детали каждого совпадения: индекс, группы захвата, именованные группы. Включите замену при необходимости.
Regex в разных языках программирования
Регулярные выражения поддерживаются всеми популярными языками. Синтаксис шаблонов практически идентичен, различаются лишь API и дополнительные возможности.
JavaScript
RegExp, String.match(), String.replace(), String.matchAll()Встроенные литералы /pattern/flags. Наш тестер работает именно на этом движке.
Python
re.match(), re.search(), re.findall(), re.sub()Модуль re. Поддержка именованных групп (?P<name>...). Опциональный модуль regex расширяет возможности.
PHP
preg_match(), preg_replace(), preg_match_all()PCRE-совместимый движок. Модификатор u для UTF-8. Один из самых мощных движков.
Java
Pattern.compile(), Matcher.find(), Matcher.group()Класс java.util.regex.Pattern. Поддержка Unicode-категорий и intersections в символьных классах.
Паттерны, разработанные в нашем тестере, с высокой вероятностью будут работать и в других языках, так как JavaScript RegExp основан на стандарте ECMA-262, совместимом с PCRE. Для англоязычной версии тестера также доступна отдельная страница.
Часто задаваемые вопросы
Был ли этот калькулятор полезен?
Инструмент справочный — не заменяет эксперта
Только для информационных целей. Все расчёты, результаты и данные, предоставляемые инструментом, носят исключительно ознакомительный и справочный характер. Они не являются профессиональной консультацией — медицинской, юридической, финансовой, инженерной или иной.
Точность результатов. Калькулятор основан на общепринятых формулах и методиках, однако фактические результаты могут отличаться в зависимости от индивидуальных условий, исходных данных и применяемых стандартов. Мы не гарантируем полноту, точность или актуальность приведённых расчётов.
Профессиональные решения — медицинские, финансовые, инженерные — должны приниматься только после консультации с квалифицированным специалистом. Не используйте автоматический расчёт как единственное основание для важных решений.
Ограничение ответственности. Авторы и разработчики сервиса не несут ответственности за прямой или косвенный ущерб, возникший из-за использования данных расчётов. Пользователь принимает на себя всю ответственность за интерпретацию результатов.
Похожие калькуляторы
JSON форматтер и валидатор
Онлайн форматирование, валидация и минификация JSON с русским интерфейсом. Подсветка синтаксиса, древовидный просмотр, статистика и проверка ошибок.
/json-formatterURL Encode/Decode
Кодирование и декодирование URL-параметров онлайн. Поддержка кириллицы, percent-encoding, разбор URL на компоненты.
/url-encode-decodeКалькулятор размера бандла (JS/CSS)
Оценка итогового размера фронтенд-сборки по зависимостям. Сравнение пакетов, бюджет бандла, рекомендации по оптимизации.
/razmer-bandla-js-cssHTML Entity кодировщик/декодировщик
Конвертация спецсимволов HTML: именованные, числовые и hex-entities. Кодирование и декодирование & < > и других символов.
/html-entity-encoderПарсер регулярных выражений (Regex Tester)
Онлайн тестер регулярных выражений JS. Проверка Regex паттернов, подсветка синтаксиса, группы захвата и шпаргалка.
/regex-testerHTML entities — кодер и таблица
Экранирование HTML: < & ". 3 режима кодирования + таблица 50+ символов с именованными, dec и hex.
/html-entities-koder-tablicaSEO slug генератор
Превращает русский заголовок в URL-friendly slug. 5 схем транслитерации (SEO, ГОСТ, ICAO, BGN, Yandex).
/seo-slug-generator-iz-russkogoMarkdown таблица — конструктор
Визуальный конструктор Markdown / HTML / CSV таблиц. Выравнивание, до 10×50 ячеек.
/generator-tablic-markdown-onlineОбъединить PDF онлайн — без загрузки на сервер
Склейка PDF в браузере через pdf-lib. До 20 файлов, до 50 МБ каждый. Локально, без отправки на сервер (152-ФЗ).
/obyedinit-pdf-onlajn-besplatnoСжать PDF онлайн — уменьшить размер локально
Сжатие PDF в браузере без потери качества. 3 уровня (object streams, удаление метаданных). До 50 МБ. Через pdf-lib, локально.
/szhat-pdf-onlajn-umenshit-razmerРазделить PDF на страницы — извлечь нужные онлайн
Разделение PDF на страницы локально: каждая страница отдельным файлом, диапазон или группами. Через pdf-lib, без отправки на сервер.
/razdelit-pdf-na-stranicy-onlajnJPG в PDF — конвертер с объединением
Конвертация JPG/PNG в PDF в браузере: до 30 картинок в один документ. Форматы A4/A3/Letter или подгонка под изображение.
/jpg-v-pdf-konverterПовернуть страницы PDF онлайн
Поворот всех или указанных страниц PDF на 90/180/270° за миллисекунды. Lossless. Через pdf-lib, без отправки на сервер.
/povernut-pdf-stranitsy-onlajnВодяной знак на PDF онлайн (кириллица)
Нанесение текстового знака («КОНФИДЕНЦИАЛЬНО», «ЧЕРНОВИК») на все страницы PDF. Поддержка русского текста через Canvas. 4 положения, регулировка прозрачности.
/dobavit-vodyanoj-znak-na-pdfНумерация страниц PDF онлайн
Проставьте номера страниц PDF в браузере: 4 формата, 6 положений, пропуск титульной, кастомный старт. Поддержка кириллицы. Через pdf-lib + Canvas.
/numerovat-stranitsy-pdf-onlajn