Об этом инструменте
RegexCheck выполняет шаблон тем же движком JavaScript, что и ваш код: что совпадает здесь, совпадёт в Node.js и любом браузере. Подсветка при вводе, группы захвата для каждого совпадения и таблица с разбором шаблона.
Шаблоны выполняются в Web Worker с принудительной остановкой через 2 секунды, поэтому регэксп с катастрофическим бэктрекингом вроде (a+)+$ не заморозит страницу. Всё остаётся на вашем устройстве. Нужна отправная точка? Возьмите готовый шаблон или откройте шпаргалку. Больше инструментов — dec0de.dev.
Тестер работает и офлайн: установите его как приложение — и он открывается мгновенно без сети. Если с совпадениями нужно что-то сделать — извлечь из лога, удалить совпавшие строки или переписать с обратными ссылками — родственный инструмент regexnow.com массово извлекает, фильтрует и заменяет тем же движком. Каждый шаблон со страницы готовых шаблонов открывается здесь в один клик с примером текста.
Частые вопросы
Какой диалект регулярных выражений использует тестер?
JavaScript (ECMAScript) — тот же движок, что в Node.js и любом браузере. Опережающие и ретроспективные проверки, именованные группы и Unicode-свойства работают; синтаксис только для PCRE (притяжательные квантификаторы, атомарные группы) — нет.
Загружается ли вставленный текст куда-либо?
Нет. Сопоставление выполняется целиком в вашем браузере внутри Web Worker — введённый или вставленный текст не покидает устройство, а тестер работает даже без интернета.
Что означают флаги g, i, m, s и u?
g находит все совпадения, а не только первое; i игнорирует регистр букв; m заставляет ^ и $ срабатывать в начале и конце каждой строки; s позволяет точке совпадать с переводом строки; u включает полную поддержку Юникода, включая \p{…}.
Почему пишет, что выполнение остановлено через 2 секунды?
Скорее всего, шаблон вызывает катастрофический бэктрекинг: вложенные квантификаторы вроде (a+)+ заставляют движок перебирать экспоненциальное число путей. Тестер выполняет шаблоны в Web Worker и останавливает любой запуск через 2 секунды, чтобы страница не зависала — перепишите шаблон с ленивыми квантификаторами или уберите вложенные повторы.