Инструмент для разработчиков и аналитиков

Regex-тестер на русском языке

Тестируйте регулярные выражения в реальном времени. Подсветка совпадений, группы захвата, замена текста и полная шпаргалка по синтаксису — всё на русском языке.

10+
Готовых шаблонов
Email, телефон, ИНН, паспорт и др.
5
Флагов
g, i, m, s, u — полный набор
100%
Клиентский
Данные не покидают ваш браузер
JS
Движок RegExp
Стандартный JavaScript-движок

Что такое регулярные выражения

Регулярные выражения (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}$/
Пример:+7 (495) 123-45-67

Поддерживает форматы: +79031234567, 8-903-123-45-67, +7 (903) 123 45 67

Email

/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/
Пример:user@mail.ru

Базовая проверка формата. Для production рекомендуется отправка подтверждения

ИНН юридического лица

/^\d{10}$/
Пример:7707083893

10 цифр. Для полной проверки используйте алгоритм контрольной суммы

ИНН физического лица

/^\d{12}$/
Пример:500100732259

12 цифр. Две контрольных цифры вычисляются по весовым коэффициентам

Паспорт РФ

/^\d{2}\s?\d{2}\s?\d{6}$/
Пример:45 08 123456

Серия (4 цифры) + номер (6 цифр), с пробелами или без

Дата DD.MM.YYYY

/^(0[1-9]|[12]\d|3[01])\.(0[1-9]|1[0-2])\.(19|20)\d{2}$/
Пример:25.12.2024

Проверяет диапазоны дня (01-31), месяца (01-12) и века (19xx-20xx)

СНИЛС

/^\d{3}-\d{3}-\d{3}\s?\d{2}$/
Пример:123-456-789 01

Формат XXX-XXX-XXX XX. Контрольная сумма проверяется отдельным алгоритмом

Почтовый индекс РФ

/^\d{6}$/
Пример:101000

6 цифр. Первые три — код зоны, последние три — номер отделения

Советы по работе с regex

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

1

Начинайте с простого

Пишите regex итеративно: сначала простой паттерн, затем добавляйте детали. Тестируйте на каждом шаге, чтобы не запутаться в сложном выражении.

2

Используйте именованные группы

Конструкция (?<name>...) делает код читаемым. Вместо match[1] вы пишете match.groups.name, и намерение сразу понятно.

3

Остерегайтесь жадности

Квантификаторы * и + по умолчанию жадные — захватывают максимум. Для минимального захвата добавьте ?: .*? вместо .* при работе с HTML-тегами.

4

Экранируйте спецсимволы

Символы . * + ? ^ $ { } [ ] ( ) | \ имеют особое значение. Для литерального совпадения ставьте обратный слеш: \. \* \+

5

Избегайте катастрофического бэктрекинга

Паттерны вида (a+)+ или (a|a)+ на длинных строках без совпадения вызывают экспоненциальный рост времени. Тестируйте на больших входных данных.

6

Используйте флаг u для Unicode

Без флага u JavaScript не распознаёт суррогатные пары. Для корректной работы с эмодзи и кириллицей включайте Unicode-режим.

Как пользоваться тестером

Пошаговая инструкция по работе с нашим инструментом проверки регулярных выражений.

1

Введите паттерн

Впишите регулярное выражение в поле ввода или выберите один из готовых шаблонов (email, телефон, ИНН и др.).

2

Настройте флаги

Включите нужные флаги: g (глобальный поиск), i (без учёта регистра), m (многострочный), s (dotall), u (Unicode).

3

Вставьте текст

Введите или вставьте тестовую строку. Совпадения подсветятся жёлтым автоматически в реальном времени.

4

Изучите результат

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

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. Для англоязычной версии тестера также доступна отдельная страница.

ЧАСТЫЕ ВОПРОСЫ

Часто задаваемые вопросы

Наш тестер полностью на русском языке — все описания, шпаргалка и готовые шаблоны адаптированы для русскоязычных разработчиков. Инструмент работает без регистрации, данные не покидают браузер, а готовые паттерны для российских данных (ИНН, телефон +7, паспорт) доступны в один клик.
Стандартный JavaScript RegExp (спецификация ECMA-262). Это тот же движок, который работает в Chrome, Firefox, Safari и Node.js. Паттерны, протестированные здесь, будут идентично работать в вашем JavaScript-коде.
Группы захвата — это части регулярного выражения, заключённые в круглые скобки (). Они извлекают подстроку из совпадения. Например, в паттерне (\d{2})\.(\d{2})\.(\d{4}) для даты 25.12.2024 группа $1 содержит 25, $2 — 12, $3 — 2024. Именованные группы (?<day>\d{2}) ещё удобнее — обращение через match.groups.day.
Режим замены использует метод String.replace() JavaScript. В строке замены можно использовать $1, $2 для ссылок на группы захвата, $& для всего совпадения, $` для текста до совпадения, $' для текста после. Именованные группы доступны через $<name>.
g (global) — находит все совпадения, а не только первое. i (insensitive) — игнорирует регистр букв. m (multiline) — ^ и $ работают для каждой строки. s (dotall) — точка . совпадает с символом новой строки \n. u (unicode) — корректная обработка Unicode-символов, включая эмодзи и суррогатные пары.
Скорее всего, проблема в катастрофическом бэктрекинге. Это происходит, когда NFA-движок пробует слишком много вариантов сопоставления. Типичные проблемные паттерны: (a+)+, (a|a)*, (.+)+ на длинных строках без совпадения. Решение — используйте атомарные группы, более конкретные символьные классы вместо ., или ленивые квантификаторы.
Для русских букв используйте класс [а-яА-ЯёЁ]. Обратите внимание: буква ё не входит в диапазон а-я, поэтому её нужно добавлять отдельно. С флагом u можно использовать Unicode-категории, но JavaScript пока не поддерживает \p{Cyrillic} без дополнительных полифиллов.
Да. Наш тестер работает полностью на стороне клиента — весь код выполняется в вашем браузере. Тестовые строки не отправляются на сервер, не сохраняются и не логируются. Вы можете спокойно проверять паттерны с любыми данными.
Lookahead (?=...) и lookbehind (?<=...) — это проверки позиции без захвата текста. Позитивный lookahead (?=\d) проверяет, что за текущей позицией следует цифра, но не включает её в совпадение. Негативные версии (?!...) и (?<!...) проверяют отсутствие. Lookbehind поддерживается в JavaScript начиная с ES2018.
Для простых задач — да: извлечь содержимое тега, найти ссылки, заменить атрибуты. Однако для полноценного парсинга HTML regex не подходит, так как HTML — контекстно-свободный язык, а regex работает только с регулярными языками. Для сложного парсинга используйте DOM-парсеры (DOMParser, cheerio, BeautifulSoup).
Лиана Арифметова
АВТОРverifiedред. calcal.ru

Лиана Арифметова

Создатель и главный редактор

Миссия: демократизировать сложные расчёты. Превратить страх перед числами в ясность и контроль. Девиз: «Любая повторяющаяся задача заслуживает своего калькулятора».

Mathematical Engineering · МФТИ · редактирует каталог с 2012 года

Был ли этот калькулятор полезен?

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ

Инструмент справочный — не заменяет эксперта

Только для информационных целей. Все расчёты, результаты и данные, предоставляемые инструментом, носят исключительно ознакомительный и справочный характер. Они не являются профессиональной консультацией — медицинской, юридической, финансовой, инженерной или иной.

Точность результатов. Калькулятор основан на общепринятых формулах и методиках, однако фактические результаты могут отличаться в зависимости от индивидуальных условий, исходных данных и применяемых стандартов. Мы не гарантируем полноту, точность или актуальность приведённых расчётов.

Профессиональные решения — медицинские, финансовые, инженерные — должны приниматься только после консультации с квалифицированным специалистом. Не используйте автоматический расчёт как единственное основание для важных решений.

Ограничение ответственности. Авторы и разработчики сервиса не несут ответственности за прямой или косвенный ущерб, возникший из-за использования данных расчётов. Пользователь принимает на себя всю ответственность за интерпретацию результатов.

СМЕЖНЫЕ ИНСТРУМЕНТЫ

Похожие калькуляторы

15

JSON форматтер и валидатор

Онлайн форматирование, валидация и минификация JSON с русским интерфейсом. Подсветка синтаксиса, древовидный просмотр, статистика и проверка ошибок.

/json-formatter

URL Encode/Decode

Кодирование и декодирование URL-параметров онлайн. Поддержка кириллицы, percent-encoding, разбор URL на компоненты.

/url-encode-decode

Калькулятор размера бандла (JS/CSS)

Оценка итогового размера фронтенд-сборки по зависимостям. Сравнение пакетов, бюджет бандла, рекомендации по оптимизации.

/razmer-bandla-js-css

HTML Entity кодировщик/декодировщик

Конвертация спецсимволов HTML: именованные, числовые и hex-entities. Кодирование и декодирование &amp; &lt; &gt; и других символов.

/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-kodirovok

CSV ↔ JSON ↔ XML конвертер

Онлайн конвертация между форматами CSV, JSON и XML. Настройка разделителей, форматирование и автоопределение формата входных данных.

/konverter-csv-json-xml

YAML валидатор и форматтер

Онлайн проверка и форматирование YAML-файлов. Валидация синтаксиса, конвертация YAML ↔ JSON, подсветка ошибок с номерами строк.

/yaml-validator

Base64 кодировщик/декодировщик

Кодирование и декодирование Base64 онлайн с поддержкой UTF-8 и кириллицы. Base64URL, Data URI, статистика размера.

/base64-encoder-decoder

Markdown-редактор с превью

Онлайн Markdown-редактор с мгновенным предпросмотром HTML. Панель инструментов, подсветка синтаксиса, экспорт в HTML.

/markdown-editor

Счётчик символов и слов

Подсчёт символов, слов, предложений, абзацев. Время чтения, частота слов, проверка длины SEO-тегов.

/schyotchik-simvolov-slov