Как пользоваться: Тестер регулярных выражений
- Введите шаблон между слешами или выберите его в списке Частые шаблоны. Можно также вставить готовый литерал, например
/\d+/g. - Включайте флаги, например
g(все совпадения),i(без учёта регистра) илиm(многострочный режим). - Вставьте текст в поле Тестовая строка — все совпадения подсвечиваются по мере ввода.
- Проверьте вкладку Совпадения с позициями и группами захвата или откройте Замена, чтобы посмотреть результат подстановки.
- Нажмите Копировать, чтобы скопировать регулярное выражение в виде
/шаблон/флаги. Шаблон и флаги также сохраняются в адресе страницы, так что ссылкой можно поделиться.
Что такое тестер регулярных выражений?
Регулярное выражение (regex) — это компактный язык шаблонов для поиска и преобразования текста: проверки поля email, извлечения ID из логов, переименования файлов или очистки данных. Поскольку один символ может изменить то, что совпадает с шаблоном, подбирать regex методом проб прямо в коде медленно. Тестер регулярных выражений мгновенно показывает, что совпадает с шаблоном, какие группы захвата заполняются и что получится после замены.
Этот тестер использует встроенный движок регулярных выражений вашего браузера JavaScript (ECMAScript), поэтому результаты точно совпадают с тем, что выдают String.prototype.match, matchAll, replace и RegExp.test в Chrome, Firefox, Safari, Node.js и Deno. Шаблоны выполняются в фоновом воркере с ограничением по времени, поэтому зациклившийся шаблон не может заморозить страницу.
Флаги регулярных выражений JavaScript
| Флаг | Название | Действие |
|---|---|---|
g | global | Находит все совпадения, а не останавливается на первом. |
i | ignoreCase | /abc/i совпадает с «ABC». |
m | multiline | ^ и $ совпадают в начале и конце каждой строки. |
s | dotAll | . также совпадает с переносами строк. |
u | unicode | Считает суррогатные пары (эмодзи) одним символом и включает экранирование свойств \p{…}. |
y | sticky | Совпадает только в позиции 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 в нижнем регистре.
- Удаление дублей строк — Вставьте список, чтобы мгновенно удалить повторяющиеся строки.
Часто задаваемые вопросы
Какой диалект регулярных выражений использует этот тестер?
\A/\Z и встроенных модификаторов вроде (?i).Почему мой шаблон находит только одно совпадение?
g (global) JavaScript останавливается на первом совпадении. Включите g, чтобы найти все. Тестер также напомнит, если флаг выключен.Как искать совпадения на нескольких строках?
m, чтобы ^ и $ работали для каждой строки, и флаг s (или [\s\S]), если . должна также совпадать с символами перевода строки.Тестовый текст сохраняется или загружается куда-то?
Какой regex подходит для проверки email-адресов?
^[^\s@]+@[^\s@]+\.[^\s@]+$ (или пресет «Email-адрес»). Полностью соответствующие RFC 5322 шаблоны получаются огромными и всё равно не скажут, существует ли почтовый ящик, — для этого отправьте письмо с подтверждением.