Перейти к содержимому

Проверка регулярных выражений онлайн — regex JavaScript

Проверка регулярных выражений JavaScript онлайн: подсветка совпадений, группы захвата и именованные, все флаги и превью замены. Медленный поиск — стоп за 1 с.

Преобразование в браузере · Без регистрации

//g
Флаги
Шпаргалка
.
Любой символ, кроме перевода строки (с флагом s — включая его)
\d \w \s
Цифра, символ слова [A-Za-z0-9_], пробельный символ
\D \W \S
Не цифра, не символ слова, не пробельный символ
[abc] [^abc]
Один из a, b, c / любой символ, кроме a, b, c
[a-z]
Любой символ от a до z
^ $
Начало / конец ввода (каждой строки с флагом m)
\b
Граница слова
* + ?
0 или больше, 1 или больше, 0 или 1
{2,5}
От 2 до 5 раз ({3} — ровно, {2,} — не меньше)
*? +?
Ленивые версии: как можно меньше совпадений
(abc)
Группа захвата
(?<name>abc)
Именованная группа захвата
(?:abc)
Группа без захвата
\1 \k<name>
Повтор того, что совпало с группой 1 / именованной группой
a|b
a или b
(?=a) (?!a)
За которым следует a / не следует a
(?<=a) (?<!a)
Перед которым стоит a / не стоит a
\p{L}
Любая буква любого языка (нужен флаг u или v)

Используется движок регулярных выражений JavaScript (ECMAScript) вашего браузера, поэтому результаты совпадают с кодом на JavaScript. Другие движки, например PCRE, Python или Java, отличаются в части синтаксиса. Поиск выполняется в фоновом потоке и прерывается через 1 секунду, чтобы защитить страницу от катастрофического возврата.

Как пользоваться

  1. Введите регулярное выражение и отметьте нужные флаги (g находит все совпадения).
  2. Вставьте текст для проверки; совпадения подсвечиваются и выводятся списком с индексами и группами захвата.
  3. Включите «Замена», чтобы посмотреть результат String.replace со ссылками $1 или $<name>.

Пример

Шаблон: (?<user>\w+)@(\w+)\.com  флаги: g
Текст: [email protected], [email protected]
Совпадения: [email protected] (user = alice, 2 = example), [email protected]
Замена на $<user> at $2 → alice at example, bob at test

Подробности и ограничения

Шаблоны выполняются встроенным в браузер движком JavaScript RegExp, поэтому ретроспективные проверки, именованные группы, свойства Unicode и флаг d работают точно так же, как в вашем коде. Флаг v появляется, только если браузер его поддерживает.

Поиск выполняется в Web Worker на вашем устройстве; ничего не загружается. Выполнение прерывается примерно через 1 секунду, и выводится не более 1000 совпадений.

FAQ

Почему регулярное выражение находит только одно совпадение?

В JavaScript регулярное выражение без флага g (global) останавливается на первом совпадении. Отметьте g, чтобы найти все совпадения, — тогда этот инструмент выведет их все.

Что такое катастрофический возврат?

Некоторые шаблоны, например (a+)+$ или (.*)*, могут работать экспоненциально долго на тексте, который почти совпадает. Этот инструмент выполняет регулярное выражение в отдельном потоке и останавливает его через 1 секунду, поэтому страница остаётся отзывчивой и вместо зависания показывает ошибку.

Будет ли проверенное здесь регулярное выражение работать в Python или PHP?

Часто, но не всегда. Этот инструмент использует движок JavaScript. В Python, PHP (PCRE) и Java отличаются возможности и синтаксис, например для именованных групп, ретроспективных проверок и флагов, поэтому перепроверяйте шаблоны, которые на них опираются.

Справочники по форматам

Страница инструмента обновлена: