Текст и данныеРаботает в браузере

Safe Regex Lab с изолированным выполнением

Проверьте JavaScript regular expression на bounded тексте, посмотрите captures и остановите слишком дорогой match принудительным timeout.

  • Отдельный Web Worker
  • Hard timeout
  • До 500 matches
Онлайн-инструмент

Попробуйте инструмент

Добавьте данные, выберите нужные параметры и получите готовый результат.

Паттерн и тестовый текст

Результат и review рисков

—

Выражение компилируется и выполняется только в отдельном Web Worker, который принудительно завершается по timeout. Эвристический risk review не является доказательством отсутствия ReDoS и не заменяет серверное тестирование целевого runtime.

Ваши данные остаются здесь

Текст и выбранные файлы обрабатываются в текущем браузере и не отправляются на сервер для получения результата.

Проверено: 2026-07-17
01

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

  1. 1

    Введите pattern без slash-разделителей и укажите JavaScript flags.

  2. 2

    Вставьте тестовый текст и выберите timeout.

  3. 3

    Запустите worker, затем проверьте matches, captures и risk signals.

02

Что умеет инструмент

  • JavaScript flags d, g, i, m, s, u, v и y с duplicate/conflict validation.
  • Match ranges, numbered captures, named captures и optional indices.
  • Корректное продвижение zero-length global/sticky matches.
  • Heuristic review nested quantifiers, broad wildcards, quantified alternation, backreferences и large quantifiers.
03

Когда пригодится

  • Проверка pattern и capture groups перед использованием во frontend.
  • Сравнение flags и zero-length behavior.
  • Первичный review потенциально дорогого pattern до server-side benchmark.
04

Что происходит внутри

Pattern ограничен 2 000 символов, текст — 100 000 символов, output — 500 matches с bounded previews.

Worker создаётся на один запуск, завершается после результата или timeout и не использует eval/Function.

05

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

Гарантирует ли зелёный risk review отсутствие ReDoS?

Нет. Нужны adversarial tests и benchmark в том runtime, где pattern будет работать в production.

Что происходит при зависании regex?

Main UI остаётся responsive, а отдельный Web Worker принудительно завершается после выбранного timeout.