Экосистема Volade — Веб-инструмент

Тестер регулярных выражений

Проверьте регулярное выражение онлайн мгновенно: текст подсвечивается при каждом символе, таблица совпадений показывает индекс, длину и группы захвата, вкладка «Замена» применяет шаблон с $1 и $&, вкладка «Разбор» разбирает шаблон по элементам, а вкладка «Производительность» измеряет риск ReDoS. Бесплатно, без регистрации и 100 % локально: ваш текст никогда не покидает браузер.

6 режимов тестирования0 байт отправлен на сервер10 готовых примеров
Инструмент

Ваш онлайн-тестер regex

Напишите шаблон, отметьте флаги, вставьте текст: совпадения появляются с подсветкой и в таблице, без кнопки «Конвертировать».

Тестер регулярных выражений

Онлайн Разработка, код & данные
Войти
Горячие клавиши: Ctrl+Enter пересчитать
Готово.

                  
Совпадения подсвечиваются в исходном тексте по мере ввода.
#СовпадениеИндексДлинаГруппы
Анализ, замена и разбор при вводе · Ctrl+Enter пересчитывает активную вкладку · без сетевых запросов · 100 % локально, ничего не покидает ваше устройство.
0,0 0Комментарий Все инструменты
Бесплатно или Premium?

Тестер regex бесплатен и без ограничений: ни аккаунта, ни установки, ни сетевых запросов. Premium открывает всю экосистему Volade.

БесплатноПодсветка, таблица совпадений и группы захвата
БесплатноЗамена по шаблону с $1, $& и именованными группами
БесплатноРазбор шаблона, библиотека примеров и шпаргалка
PremiumШифрованная облачная синхронизация шаблонов и фрагментов теста
PremiumДоступ к API и скриптам, общим для инструментов экосистемы
Открыть Premium
Возможности

Тест, замена и разбор regex без ограничений

Один движок закрывает анализ, замену и понимание шаблона — и никогда не покидает ваше устройство.

Подсветка и таблица совпадений

Каждое совпадение подсвечивается в исходном тексте и попадает в список с индексом, длиной и значением каждой группы захвата — нумерованной или именованной. Обрабатываются и пограничные случаи: шаблоны без совпадений, входные данные в несколько мегабайт, совпадения нулевой длины и предел в 2 000 результатов, который указан под полем.

Тест шаблона

Замена с группами

Вкладка «Замена» применяет шаблон к вашему исходному тексту и показывает результат в реальном времени: $1 и $2 подставляют группы захвата, $& — полное совпадение, $<nom> — именованную группу. Количество замен считается отдельно, а инструмент напоминает о флаге g, если заменяется только первое вхождение.

Замена текста

Разбор, примеры и производительность

Вкладка «Разбор» разбивает шаблон на классы, экранирование, группы, проверки позиции и квантификаторы, давая значение и пример для каждого. Вкладка «Примеры» загружает десять проверенных шаблонов (e-mail, URL, дата, IPv4, надёжный пароль), а вкладка «Производительность» измеряет реальное время выполнения, чтобы поймать катастрофический риск отката.

Изучить режимы
Как это работает

Написать, проверить и исправить шаблон в три шага

Ни установки, ни регистрации: инструмент всегда готов — и на телефоне, и на компьютере.

Напишите шаблон

Введите регулярное выражение в общее поле и отметьте нужные флаги: результат пересчитывается при вводе. Ошибка синтаксиса объясняется под полем — незакрытая скобка, незакрытый класс, осиротевший квантификатор — вместо сырого сообщения браузера.

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

Текст подсвечивается, и таблица совпадений заполняется одновременно. Это тот шаг, который все пропускают, — и именно он выдаёт большинство ошибочных шаблонов: забытый якорь, непокрытый регистр, точка, которая не съедает переводы строк.

Разберите и измерьте

Перейдите в «Разбор», чтобы прочитать шаблон построчно, исправьте его, затем в «Производительность» убедитесь, что время выполнения далеко от 250 мс, указывающих на риск ReDoS. Локальная история хранит последние шаблоны, чтобы перезагрузить их одним нажатием.

Краткая справка

Регулярное выражение с первого взгляда

То, что большинство разработчиков проверяет до чтения шаблона, — с полной шпаргалкой во вкладке «Шпаргалка».

ЭлементЗначениеПример
.любой символ, кроме новой строкиa.c → abc
\dдесятичная цифра\d{3} → 123
\wбуква, цифра или подчёркивание\w+ → volade_1
\sпробел, табуляция, перевод строки\s+ → «  »
^ $начало и конец строки^abc$ → abc
*ноль и более вхождений, жадная версияab*c → ac, abbc
+одно и более вхожденийab+c → abc
?ноль или одно вхождениеcolou?r → color, colour
{n,m}от n до m вхождений\d{2,4} → 1234
(...)группа захвата(ha)+ → haha

Что значит «проверить регулярное выражение»?

Тест регулярного выражения (« regex test online », « tester regex javascript ») означает выполнить шаблон на реальном тексте и посмотреть, что движок действительно возвращает: совпавшие строки, их положение и значения групп захвата. Шаблон, который « выглядит верным», ничего не доказывает, пока не отработал на ваших данных, — это единственное различие между regex из учебника и regex в продакшене.

Тест отвечает на три разных вопроса. Есть ли совпадение : таблица совпадений показывает это сразу. Где и сколько : индекс и длина показывают, стоял ли якорь на правильном месте. Что именно захватывается : нумерованные и именованные группы показывают, та ли часть извлекается, как вы рассчитывали.

Метасимволы, которые решают всё

Точка . заменяет любой символ, кроме новой строки — отсюда флаг s для многострочного текста. Квантификаторы *, + и ? оказываются жадными : они останавливаются на первом достаточном числе повторений. Суффикс ? (*?, +?, {2,5}?) меняет это поведение и даёт ленивую версию, которую почти всегда лучше выбрать, когда .* пожирает конец строки.

Квадратные скобки задают класс: [abc] принимает символ из перечисленных, [^abc] всё, кроме них, [a-z0-9] диапазон. Внимание: отрицание в начале класса — [^...] действует только в первой позиции, иначе ^ снова становится литеральным. Знак | разделяет альтернативы и работает с низким приоритетом: ^cat|dog$ означает «весь текст — cat» или «весь текст — dog», а не «cat в начале или dog в конце» — тогда нужна группировка: ^(?:cat|dog)$.

Группы, lookahead и lookbehind

Скобки захватывают. Группе 1 можно получить через $1 на стороне замены, а \1 на стороне шаблона; именованные группы — через $<nom> и \k<nom> — гораздо нагляднее, начиная с трёх групп. (?:...) объединяет, не создавая номера — так лучше поступать, если захват нужен только ради структуры.

Проверки позиции (lookaround) ничего не потребляют: (?=...) требует, чтобы то, что идёт дальше, совпало, (?!...) запрещает это, (?<=...) и (?<!...) делают то же для того, что предшествует. Так требуют специальный символ в пароле, не включая его в захват: ^(?=.*\d)(?=.*[A-Z]).{12,}$.

ReDoS: когда regex превращается в бомбу замедленного действия

Термин ReDoS (Regular Expression Denial of Service) происходит от backtracking : при почти корректном вводе шаблон вроде (a+)+$ перебирает все способы разрезать «a» перед тем, как потерпеть неудачу, а число комбинаций растёт экспоненциально. Два правила: проверяйте шаблон на реальном объёме — вкладка «Производительность» сделает это за вас — и никогда не запускайте непроверенную regex на внешних данных без ограничения размера. На сервере зависшая regex блокирует весь worker до истечения таймаута.

JavaScript, PCRE, Python: общая основа и несколько различий

Тестер использует нативный движок браузера, то есть ECMAScript. Базовый синтаксис — классы, квантификаторы, группы, lookahead, флаги g i m s u y — общие для PCRE (PHP, Perl), Python с re, Java и Go. Различия касаются прежде всего lookbehind (долго отсутствовал в JavaScript, теперь поддерживается), свойств Unicode и встроенных флагов, таких как (?i), характерных для PCRE. Поэтому перенос шаблона из одного языка в другой — работа с деталями, а не с изобретениями.

Рекомендуется

Фронтенд- и бэкенд-разработчики (валидация форм, разбор журналов, миграция данных), ops и DevOps (фильтры конфигураций, правила WAF), тестировщики и аналитики (извлечение столбцов, проверка формата), редакторы и data-аналитики (очистка файлов), студенты (понимание метасимволов) — и все, кому нужен тестер регулярных выражений — быстрый, полноценный и конфиденциальный, а также форматтер JSON, кодировщик и декодировщик URL, кодировщик и декодировщик Base64 и кодировщик и декодировщик JWT.

FAQ

Частые вопросы о тестере regex

Всё, что вы хотели узнать перед тем, как тестировать, заменять или разбирать шаблон.

Как проверить регулярное выражение онлайн?

Введите шаблон в поле «Регулярное выражение», отметьте флаги g, i, m, s, u или y, затем вставьте текст: совпадения подсвечиваются в исходном тексте и перечисляются в таблице с индексом, длиной и значением каждой группы захвата. Всё пересчитывается при вводе, без кнопки.

Что означают флаги g, i, m, s, u и y?

g ищет все совпадения, а не только первое, i игнорирует регистр, m делает ^ и $ действующими в начале и в конце каждой строки, s позволяет точке соответствовать переводу строки, u включает синтаксис Unicode вроде \p{L}, а y требует точного старта в позиции курсора. Это флаги движка JavaScript, которые без изменений поддержаны в PCRE и большинстве современных языков.

Как заменить текст с помощью regex?

Перейдите во вкладку «Замена», укажите шаблон и строку замены, затем прочитайте результат. $1 и $2 подставляют группы захвата, $& — полное совпадение, а $ с именем — именованную группу. Без флага g заменяется только первое вхождение: инструмент напоминает об этом под полем.

Как разобрать регулярное выражение построчно?

Вкладка «Разбор» разбивает шаблон на элементы — классы, экранирование, группы, lookarounds и квантификаторы — и даёт для каждого значение и конкретный пример совпавшего текста. Это самый быстрый способ понять унаследованную regex или проверить, что написанное делает именно то, что вы ожидаете.

Что такое регулярное выражение и какие в нём есть метасимволы?

Регулярное выражение — это шаблон, описывающий набор строк, который выполняет движок поиска по шаблону. У метасимволов . * + ? ^ $ | ( ) [ ] { } собственное значение: точка заменяет любой символ, * и + повторяют, ^ и $ ставят якоря, | разделяет альтернативы, а скобки создают группы захвата. Все остальные символы литеральны, а обратная косая черта делает литеральными и зарезервированные.

Что такое ReDoS и как его избежать?

ReDoS (Regular Expression Denial of Service) возникает, когда плохо построенный шаблон — обычно вложенная альтернатива вроде (a+)+ — экспоненциально наращивает попытки backtracking на почти подходящем вводе. Вкладка «Производительность» измеряет время выполнения на сгенерированном объёме и сообщает о риске, как только шаблон превышает 250 мс. На своих серверах ограничивайте размер входных данных и предпочитайте линейные движки.

Почему моя regex не даёт ни одного совпадения?

Чаще всего причины такие: якоря ^ и $ без флага m на многострочном тексте, незакрытый класс символов, регистр не покрыт из-за отсутствия флага i, точка не съедает переводы строк без флага s или шаблон описывает буквально не то, что вы наблюдаете. Вкладка «Разбор» показывает эти расхождения за секунду.

Отправляет ли инструмент мой текст на сервер?

Нет: анализ, подсветка, замена и разбор выполняются целиком в вашем браузере, без сетевых запросов и аккаунта, даже офлайн. Это обязательно, чтобы вставить журнал приложения, файл конфигурации или фрагмент данных с учётными данными. Шаблон, флаги и текст остаются в локальном хранилище вашего устройства, и их можно стереть одним нажатием.

Тестер regex 100 % локально: ваш текст никогда не покидает ваш компьютер

В отличие от обычных онлайн-тестеров regex, ничего не передаётся: анализ, подсветка, замена, разбор и замер производительности выполняются целиком в вашем браузере, без сторонних библиотек и сетевых запросов. Поэтому можно вставить настоящий журнал приложения, файл конфигурации или фрагмент данных с учётными данными — даже офлайн или в публичной сети. Шаблон, флаги, текст и история остаются в локальном хранилище вашего устройства.

Лицензия Premium Volade добавляет необязательную шифрованную облачную синхронизацию, независимую от инструмента, — всё остальное остаётся бесплатным и без ограничений, без регистрации.

Одна лицензия premium — все ваши веб-инструменты

Тестер regex, форматтер JSON, кодировщик и декодировщик URL, Base64, декодировщик JWT, генераторы и десятки бесплатных инструментов — и вся экосистема Volade с одной лицензией.

Одна лицензия — вся премиум-экосистема Браузер · CMS · Десктоп · Мобильные · Скрипты · API · Инструменты · Database
Одна лицензия, всё Перейти на Premium Войти