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

Введите шаблон и смотрите, как совпадения подсвечиваются прямо в тестовом тексте. Изучайте каждую группу захвата, пробуйте замены и берите готовые шаблоны для email, URL, дат и не только.

Обновлено
Совпадения появятся здесь.

Ваши данные никогда не покидают ваш компьютер. Вся обработка выполняется на 100% локально в вашем браузере.

Был ли этот инструмент полезен?0.0 Оценок: 0
Сравните два текста или файлы кода онлайнОтличия подсвечиваются до слова.Сравнение текстов →

Как пользоваться: Тестер регулярных выражений

  1. Введите шаблон между слешами или выберите его в списке Частые шаблоны. Можно также вставить готовый литерал, например /\d+/g.
  2. Включайте флаги, например g (все совпадения), i (без учёта регистра) или m (многострочный режим).
  3. Вставьте текст в поле Тестовая строка — все совпадения подсвечиваются по мере ввода.
  4. Проверьте вкладку Совпадения с позициями и группами захвата или откройте Замена, чтобы посмотреть результат подстановки.
  5. Нажмите Копировать, чтобы скопировать регулярное выражение в виде /шаблон/флаги. Шаблон и флаги также сохраняются в адресе страницы, так что ссылкой можно поделиться.

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

Регулярное выражение (regex) — это компактный язык шаблонов для поиска и преобразования текста: проверки поля email, извлечения ID из логов, переименования файлов или очистки данных. Поскольку один символ может изменить то, что совпадает с шаблоном, подбирать regex методом проб прямо в коде медленно. Тестер регулярных выражений мгновенно показывает, что совпадает с шаблоном, какие группы захвата заполняются и что получится после замены.

Этот тестер использует встроенный движок регулярных выражений вашего браузера JavaScript (ECMAScript), поэтому результаты точно совпадают с тем, что выдают String.prototype.match, matchAll, replace и RegExp.test в Chrome, Firefox, Safari, Node.js и Deno. Шаблоны выполняются в фоновом воркере с ограничением по времени, поэтому зациклившийся шаблон не может заморозить страницу.

Флаги регулярных выражений JavaScript

ФлагНазваниеДействие
gglobalНаходит все совпадения, а не останавливается на первом.
iignoreCase/abc/i совпадает с «ABC».
mmultiline^ и $ совпадают в начале и конце каждой строки.
sdotAll. также совпадает с переносами строк.
uunicodeСчитает суррогатные пары (эмодзи) одним символом и включает экранирование свойств \p{…}.
ystickyСовпадает только в позиции lastIndex — полезно при написании токенизаторов.

Группы захвата, именованные группы и замены

Круглые скобки захватывают текст, который они совпадают. В (\d{4})-(\d{2}) первая группа — это год, вторая — месяц. Именованные группы делают шаблон самодокументируемым: (?<year>\d{4}) доступна как match.groups.year в коде и как $<year> в строке замены. Например, при замене (?<y>\d{4})-(?<m>\d{2})-(?<d>\d{2}) на $<d>/$<m>/$<y> строка 2026-10-25 превратится в 25/10/2026. Используйте (?:…), если нужна группировка без захвата.

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

Шаблоны с вложенными квантификаторами, например (a+)+$ или (\w+\s?)*$, могут работать экспоненциально долго на входных данных, которые почти совпадают. Это классическая причина зависания браузеров и уязвимостей ReDoS на серверах. Если шаблон выполняется дольше 1,5 секунды, здесь его остановят и отметят. Исправить это можно, сделав альтернативы взаимно исключающими, заменив .* на отрицательный класс вроде [^"]* или зафиксировав шаблон якорями.

Советы по надёжным шаблонам

  • Привязывайте шаблоны валидации якорями ^…$, иначе \d{5} также «одобрит» строку abc123456.
  • Экранируйте метасимволы, если они нужны как обычные символы: \. \? \( \[ \$.
  • Предпочитайте конкретные классы символов вместо .*: они быстрее и точнее отражают ваш замысел.
  • Regex плохо подходит для вложенных форматов, таких как HTML или JSON, — используйте парсер (или наш JSON Formatter).
  • Сравниваете текст до и после замены во всём документе? Вставьте оба варианта в Diff Checker.

Также ищут как: regex онлайн, проверка regex, regex checker, javascript regex, regexp тестер, regex замена, шпаргалка по regex.

Инструменты, которые хорошо сочетаются с Тестер регулярных выражений

  • JavaScript форматтер — Распакуйте и отформатируйте JavaScript, JSON или JSX с нужными отступами и стилем скобок.
  • Кодирование и декодирование URL — Выполняйте процентное кодирование текста для безопасного использования в URL, декодируйте закодированные строки обратно в читаемый текст и разбирайте любой URL на части и параметры запроса.
  • Генератор slug — Превратите любой заголовок в чистый URL-slug в нижнем регистре.
  • Удаление дублей строк — Вставьте список, чтобы мгновенно удалить повторяющиеся строки.

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

Какой диалект регулярных выражений использует этот тестер?
JavaScript (ECMAScript), который выполняется нативным движком вашего браузера. Большая часть синтаксиса общая с PCRE, Python и Java, но есть и отличия: в JavaScript нет притяжательных квантификаторов, атомарных групп (до недавнего времени), якорей \A/\Z и встроенных модификаторов вроде (?i).
Почему мой шаблон находит только одно совпадение?
Без флага g (global) JavaScript останавливается на первом совпадении. Включите g, чтобы найти все. Тестер также напомнит, если флаг выключен.
Как искать совпадения на нескольких строках?
Используйте флаг m, чтобы ^ и $ работали для каждой строки, и флаг s (или [\s\S]), если . должна также совпадать с символами перевода строки.
Тестовый текст сохраняется или загружается куда-то?
Нет. Поиск выполняется в вашем браузере. В адрес страницы записываются только шаблон и флаги, чтобы вы могли поделиться ссылкой. Тестовый текст никогда не попадает в URL и никуда не отправляется.
Какой regex подходит для проверки email-адресов?
Практичный вариант — ^[^\s@]+@[^\s@]+\.[^\s@]+$ (или пресет «Email-адрес»). Полностью соответствующие RFC 5322 шаблоны получаются огромными и всё равно не скажут, существует ли почтовый ящик, — для этого отправьте письмо с подтверждением.
Почему мой шаблон остановили?
Он выполнялся больше 1,5 секунды, что почти всегда означает катастрофический бэктрекинг из-за вложенных или перекрывающихся квантификаторов. Сделайте квантифицируемые части более конкретными, чтобы движку приходилось перебирать меньше вариантов для одного и того же текста.
Можно ли установить Тестер регулярных выражений как веб-приложение и пользоваться им офлайн?
Да. Тестер регулярных выражений — это веб-приложение (PWA), которое можно установить из браузера, без скачивания из магазина приложений. В Chrome или Edge (Windows, macOS, Linux, ChromeOS) или на Android нажмите вверху этой страницы «Установить приложение»; на iPhone и iPad используйте «Поделиться → На экран «Домой»», а в Safari 17+ на Mac — «Файл → Добавить в Dock». После этого приложение откроется в отдельном окне со своим значком, и так как оно полностью работает в браузере, оно продолжит работать офлайн. Firefox на компьютере не умеет устанавливать веб-приложения. Как работает установка.

Похожие инструменты

localСравнение текстовВставьте исходную и изменённую версии, чтобы увидеть добавленные, удалённые и изменённые строки рядом — с…localJavaScript форматтерРаспакуйте и отформатируйте JavaScript, JSON или JSX с нужными отступами и стилем скобок. Или удалите…localКодирование и декодирование URLВыполняйте процентное кодирование текста для безопасного использования в URL, декодируйте закодированные…localГенератор slugПревратите любой заголовок в чистый URL-slug в нижнем регистре. Инструмент корректно транслитерирует…localУдаление дублей строкВставьте список, чтобы мгновенно удалить повторяющиеся строки. Игнорируйте регистр или пробелы по краям,…localГенератор cron-выраженийСоставьте расписание crontab без запоминания синтаксиса или вставьте существующее выражение, чтобы увидеть…