Валидация использует движок JavaScript текущей среды. Передовые флаги активируются только в том случае, если они поддерживаются.
Как это работает
Тестовый стенд регулярных выражений позволяет построить шаблон и проверять его вживую на примере текста. Можно искать совпадения, заменять и разбивать строки, видеть захваченные группы (позиционные и именованные) и их позиции, а также визуально включать флаги движка.
Он использует нативный движок регулярных выражений JavaScript — тот же, что работает в браузере и в Node.js — и генерирует как литеральную версию /шаблон/флаги, так и эквивалент с конструктором RegExp для прямого копирования в код. Всё выполняется локально, без отправки текста на сервер.
Примеры
Fecha de vencimiento: 2026-07-212026-07-21Шаблон \duser@example.comexample.comС (?<host>[\w.-]+) после @ именованная группа «host» захватывает домен.Сценарии использования
- Проверять форматы вроде адресов почты, дат, почтовых индексов или идентификаторов перед использованием в форме или API.
- Извлекать данные из текста (URL, суммы, теги) с помощью именованных групп захвата.
- Проверить массовую замену перед её применением в редакторе кода или скрипте.
- Разбить строку по переменному разделителю и отладить, почему шаблон не совпадает так, как вы ожидали.
Часто задаваемые вопросы
Какой движок регулярных выражений он использует?
Нативный движок JavaScript. Его синтаксис очень похож на другие языки, но есть отличия от PCRE, Python или .NET, например в ретроспективных проверках (lookbehind) или некоторых Unicode-экранированиях. Если вы будете использовать шаблон вне JavaScript, лучше проверить его в той среде.
Для чего нужны флаги g, i, m, s, u, v, y и d?
g находит все совпадения; i игнорирует регистр; m заставляет ^ и $ работать построчно; s позволяет точке включать переносы строк; u и v включают режим Unicode; y (sticky) требует совпадения ровно там, где закончилось предыдущее; а d раскрывает позиции каждого совпадения и группы.
Как работают именованные группы?
Они определяются с помощью (?<имя>...) и позволяют ссылаться на захваченное по имени, а не по номеру. В замене вы получаете их через $<имя>, что делает шаблоны читаемее и проще в сопровождении.
Отправляется ли тестовый текст на сервер?
Нет. И компиляция шаблона, и его выполнение над текстом происходят в вашем браузере, так что можно тестировать на реальных данных, не раскрывая их.