Проверить регулярное выражение онлайн: подсветка совпадений в тексте, группы захвата, готовые шаблоны, замена с $1, разбор ошибок по-русски. Данные не покидают браузер.
Шаблон без обрамляющих косых черт: только выражение, без /…/
Текст проверяется целиком: . не переходит через перенос, а ^ и $ работают только с флагом m.
$1–$99 — группы по номеру, $<имя> — именованная, $& — совпадение целиком, $` и $' — текст до и после него, $$ — знак доллара
Обычный текст превращается в шаблон, в котором все служебные символы уже экранированы: точку, звёздочку и скобки движок прочитает как сами символы, а не как команды.
Готовые выражения с пояснением. Кнопка «Вставить» подставляет шаблон и его флаги в поле выше — текст остаётся на месте.
/gi[\w.%+-]+@[\w-]+(?:\.[\w-]+)+Адрес почты: имя, собака, домен. Домен с точками вроде mail.co.uk тоже подходит
Срабатывает на: ivan.petrov@example.ru
/gihttps?://[^\s<>"']+Ссылка с протоколом http или https — до первого пробела, кавычки или угловой скобки
Срабатывает на: https://normtool.ru/tools/text/sort-lines
/g(?:\+7|8)[\s(-]*\d{3}[\s)-]*\d{3}[\s-]*\d{2}[\s-]*\d{2}Российский номер с +7 или 8, со скобками, пробелами и дефисами в любом порядке
Срабатывает на: +7 (912) 345-67-89
/g\b(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\bЧетыре числа от 0 до 255 через точку: 256.1.1.1 такая проверка уже не пропустит
Срабатывает на: 192.168.0.15
/g\b(\d{1,2})[./-](\d{2})[./-](\d{4})\bДата с точками, слэшами или дефисами. День, месяц и год разложены по группам захвата
Срабатывает на: 05.03.2026
/g\b(?:[01]?\d|2[0-3]):[0-5]\d(?::[0-5]\d)?\bВремя в 24-часовом виде: 9:30, 18:45, 23:59:59
Срабатывает на: 18:45
/g-?\d+(?:[.,]\d+)?Целые и дробные числа, в том числе отрицательные. Дробная часть — с точкой или запятой
Срабатывает на: Итого: -12,5 кг
/g\b(?:\d{10}|\d{12})\b10 цифр у организации, 12 у человека. Проверка по длине, без контрольной суммы
Срабатывает на: ИНН 7707083893
/g\b\d{3}-\d{3}-\d{3}\s\d{2}\bНомер в формате 000-000-000 00
Срабатывает на: 112-233-445 95
/gu#[\p{L}\p{N}_]+Слово после решётки: русские буквы, латиница, цифры и подчёркивание
Срабатывает на: ищите #нормтул в закладках
/giu(?<![\p{L}\p{N}])([\p{L}]+)\s+\1(?![\p{L}\p{N}])Слово, написанное дважды подряд. Обратная ссылка \1 повторяет первую группу, поэтому «слово слово» находится. Границы слова заданы просмотром назад и вперёд: \b знает только латиницу и на русских словах не срабатывает
Срабатывает на: это слово слово написано дважды
/gi<([a-z][a-z0-9]*)\b[^>]*>Открывающий или закрывающий тег с атрибутами. Имя тега попадает в первую группу
Срабатывает на: <div class="card">
/g[^\S\r\n]{2,}Два и больше пробелов или табов подряд внутри строки. Переносы строк не трогает
Срабатывает на: здесь два пробела
/gm^(?=.*[A-Za-z])(?=.*\d)(?=.*[^\w\s]).{8,}$Строка от 8 символов, где есть буква, цифра и знак. Проверка целиком, а не поиск подстроки
Срабатывает на: Str0ng!pass
Регулярное выражение — это язык описания строк, и главная сложность в нём не написать выражение, а понять, почему оно находит не то. Классический случай: шаблон выглядит верным, но возвращает пустоту — в одном месте стоит жадный квантификатор, в другом незамеченный символ, а группа захвата нумеруется не так, как ожидалось. Проверять это в консоли долго: непонятно, что именно нашлось и на какой позиции.
Инструмент показывает работу выражения в четырёх разрезах сразу. Совпадения подсвечиваются прямо в тексте, чтобы видеть их в контексте, а не в отрыве. Список совпадений даёт точные позиции и номер строки — по ним потом правится код. Таблица групп захвата показывает, что попало в каждую группу, включая именованные. Режим замены собирает результат со ссылками $1 и $& и сразу показывает, что получится. Ошибка синтаксиса объясняется по-русски и с позицией, а не английским сообщением движка.
Отдельная забота — тяжёлые шаблоны. Выражение вида (a+)+ на длинной строке из одинаковых символов заставляет движок перебирать экспоненциальное число способов разбора и подвешивает вкладку. Прервать одну операцию поиска в JavaScript нельзя, поэтому инструмент заранее разбирает шаблон, помечает опасные сочетания вложенных квантификаторов и не запускает их на длинном тексте, а честно пишет об этом. Ничего не отправляется на сервер: всё считается в браузере.
Введите шаблон в поле «Регулярное выражение» — без обрамляющих косых черт, только само выражение. Затем вставьте текст в поле «Текст для проверки». Совпадения подсветятся прямо в тексте, а ниже появится их список с номерами строк, позициями и таблицей групп захвата. Кнопку «Проверить» нажимать не нужно: всё пересчитывается на каждое изменение.
Здесь выражение отлаживают: видно, что именно нашлось, где, какие группы захвата получились и почему шаблон не срабатывает. В «Найти и заменить» готовое выражение применяют к тексту, а в «Извлечь данные из текста» тем же выражением достают список значений. Если нужно понять, как работает шаблон, его проверяют здесь, а потом переносят в тот инструмент, который решает задачу.
g — искать все совпадения, а не только первое. i — не учитывать регистр. m — считать ^ и $ началом и концом каждой строки, а не всего текста. s — разрешить точке совпадать с переносом строки. u — включить режим Unicode: тогда работают \p{...} и корректно считаются символы за пределами основной таблицы. y — «липкий» поиск: совпадение ищется строго с текущей позиции, без пропуска неподходящих символов.
В поле «Чем заменить» пишутся ссылки на группы: $1, $2 — по номеру, $<имя> — по имени именованной группы, $& — совпадение целиком, $` и $' — текст до и после него, $$ — знак доллара. Результат замены показывается тут же, с подсветкой вставленных фрагментов, а кнопки «Копировать» и «В исходник» забирают его наружу или подставляют обратно в текст. Без флага g меняется только первое совпадение — инструмент пишет, сколько замен осталось нетронутыми.
В JavaScript граница слова \b определяется символами латиницы, цифр и подчёркивания. Русские буквы в этот набор не входят, поэтому \b рядом с ними не срабатывает вовсе. Вместо него используют просмотр назад и вперёд: (?<![\p{L}\p{N}]) и (?![\p{L}\p{N}]) — так граница задаётся для любого алфавита. В библиотеке шаблонов есть готовый пример «Дублирующееся слово», собранный именно так.
Инструмент разбирает шаблон до запуска и отмечает опасные сочетания квантификаторов — например, (a+)+ или (\w+\s?)*. Если такой шаблон найден, поиск идёт только по первым 18 символам текста, а над результатом появляется предупреждение с указанием проблемного куска. Длинный текст при этом не просматривается: перебор вариантов разбора растёт экспоненциально, и на сотне символов вкладка перестала бы отвечать. Дополнительно поиск останавливается после 5000 совпадений или 400 миллисекунд работы.
Нет. Шаблон и текст обрабатываются встроенным движком регулярных выражений браузера, на вашем компьютере. Ни текст, ни шаблон никуда не передаются и не сохраняются — инструментом можно пользоваться офлайн и на конфиденциальных данных.