Тестер регулярных выражений
Проверьте регулярное выражение JavaScript на своём тексте: совпадения подсвечиваются сразу при вводе, для каждого видны позиция, нумерованные и именованные группы. Можно проверить и замену со ссылками на группы ($1, $<имя>). Выражение выполняется в отдельном потоке браузера с ограничением времени — «тяжёлое» выражение не повесит страницу. Текст никуда не отправляется.
Рабочая область
Результат
Инструмент работает в вашем браузере: введённые данные никуда не отправляются.
Как пользоваться
- Введите выражение без косых черт и отметьте нужные флаги.
- Вставьте текст для проверки — совпадения подсветятся сразу.
- Чтобы проверить замену, отметьте «Заменить» и введите строку замены.
Вопросы и ответы
Какой синтаксис используется?
Синтаксис регулярных выражений JavaScript (ECMAScript) — тот же, что в браузерах и Node.js. Он почти совпадает с PCRE в PHP, но, например, не поддерживает атомарные группы, притяжательные квантификаторы и модификатор x.
Что значит «выражение выполняется слишком долго»?
Скорее всего, в выражении есть вложенные квантификаторы вроде (a+)+ — на неподходящем тексте число вариантов перебора растёт экспоненциально (катастрофический возврат). На сайте такое выражение может остановить сервер, поэтому здесь его выполнение прерывается через 2 секунды. Уберите вложенные квантификаторы или сделайте части выражения взаимоисключающими.
Как сослаться на группу в замене?
$1, $2 … — нумерованные группы, $<имя> — именованная группа, $& — всё совпадение, $` и $' — текст до и после совпадения, $$ — знак доллара.
Зачем флаг u?
С флагом u выражение работает с символами Юникода целиком (эмодзи, редкие иероглифы), понимает \p{L} и другие классы Юникода и строже относится к ошибкам в синтаксисе. Для текста на русском языке его лучше включать.