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-testerКонвертер регистра текста
ВЕРХНИЙ ↔ нижний ↔ Каждое Слово ↔ camelCase ↔ snake_case ↔ kebab-case. Все варианты регистра.
/konverter-registra-tekstaГенератор Cubic Bezier (CSS transition)
Интерактивный генератор кривых Безье для CSS анимаций. Визуальная настройка плавности переходов, пресеты (ease, linear) и копирование кода.
/cubic-bezierКалькулятор код-ревью: время, размер PR, дефекты, нагрузка
Комплексный калькулятор код-ревью: оценка времени проверки кода, анализ размера PR (XS/S/M/L/XL), покрытие ревью и bus factor, плотность дефектов и escape rate, нагрузка команды ревьюеров, метрики качества (churn, rework, first-pass yield).
/code-review-calculatorКалькулятор теории цвета: гармония, конвертер, палитры, смешивание, дальтонизм
Комплексный инструмент для работы с цветом: цветовые гармонии (комплементарная, аналогичная, триадная, тетрадная), конвертер HEX/RGB/HSL/HSV/CMYK, генератор палитр (монохроматическая, shades, tints, tones), смешивание цветов (аддитивное/субтрактивное), симулятор дальтонизма и анализ цветовой температуры.
/color-theory-calculatorКонвертер кодировок текста
Конвертация текста между кодировками UTF-8, Windows-1251, KOI8-R, CP866. Исправление кракозябр (mojibake) и битой кириллицы онлайн.
/konverter-kodirovokCSV ↔ JSON ↔ XML конвертер
Онлайн конвертация между форматами CSV, JSON и XML. Настройка разделителей, форматирование и автоопределение формата входных данных.
/konverter-csv-json-xmlYAML валидатор и форматтер
Онлайн проверка и форматирование YAML-файлов. Валидация синтаксиса, конвертация YAML ↔ JSON, подсветка ошибок с номерами строк.
/yaml-validatorBase64 кодировщик/декодировщик
Кодирование и декодирование Base64 онлайн с поддержкой UTF-8 и кириллицы. Base64URL, Data URI, статистика размера.
/base64-encoder-decoderMarkdown-редактор с превью
Онлайн Markdown-редактор с мгновенным предпросмотром HTML. Панель инструментов, подсветка синтаксиса, экспорт в HTML.
/markdown-editorСчётчик символов и слов
Подсчёт символов, слов, предложений, абзацев. Время чтения, частота слов, проверка длины SEO-тегов.
/schyotchik-simvolov-slov