Инструменты разработчика

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

Проверьте регулярное выражение JavaScript на своём тексте: совпадения подсвечиваются сразу при вводе, для каждого видны позиция, нумерованные и именованные группы. Можно проверить и замену со ссылками на группы ($1, $<имя>). Выражение выполняется в отдельном потоке браузера с ограничением времени — «тяжёлое» выражение не повесит страницу. Текст никуда не отправляется.

Рабочая область

gu

Без косых черт по краям. Например: \d+ или ^[А-ЯЁ].

Флаги

Инструмент работает в вашем браузере: введённые данные никуда не отправляются.

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

  1. Введите выражение без косых черт и отметьте нужные флаги.
  2. Вставьте текст для проверки — совпадения подсветятся сразу.
  3. Чтобы проверить замену, отметьте «Заменить» и введите строку замены.

Вопросы и ответы

Какой синтаксис используется?

Синтаксис регулярных выражений JavaScript (ECMAScript) — тот же, что в браузерах и Node.js. Он почти совпадает с PCRE в PHP, но, например, не поддерживает атомарные группы, притяжательные квантификаторы и модификатор x.

Что значит «выражение выполняется слишком долго»?

Скорее всего, в выражении есть вложенные квантификаторы вроде (a+)+ — на неподходящем тексте число вариантов перебора растёт экспоненциально (катастрофический возврат). На сайте такое выражение может остановить сервер, поэтому здесь его выполнение прерывается через 2 секунды. Уберите вложенные квантификаторы или сделайте части выражения взаимоисключающими.

Как сослаться на группу в замене?

$1, $2 … — нумерованные группы, $<имя> — именованная группа, $& — всё совпадение, $` и $' — текст до и после совпадения, $$ — знак доллара.

Зачем флаг u?

С флагом u выражение работает с символами Юникода целиком (эмодзи, редкие иероглифы), понимает \p{L} и другие классы Юникода и строже относится к ошибкам в синтаксисе. Для текста на русском языке его лучше включать.