Перейти к основному содержимомуПерейти к калькулятору
108 калькуляторовРезультаты онлайнПошаговые решения

Инструмент Rechnerpilot

Тестер Regex

RegExp изолированно выполняется в Web Worker относительно тестового текста; совпадения и группы отображаются.

Разработчикам

Изолированное выполнение недоступно в этой среде. Для Regex-Tester требуется поддержка Web Worker в браузере.

Объяснение

Как работает Тестер Regex

Regex-Tester оценивает регулярное выражение (синтаксис JavaScript/ECMAScript) относительно тестового текста и показывает совпадения, их позицию, а также захваченные группы. С помощью флагов вы управляете, среди прочего, глобальным поиском (g), учётом регистра (i) и многострочным поведением (m).

Важно для безопасности: введённый пользователем шаблон может из-за «катастрофического бэктрекинга» вычисляться сколь угодно долго. Простое ограничение длины ввода от этого не защищает. Поэтому оценка выполняется в отдельном Web Worker; если он не отвечает в течение короткого времени, он принудительно завершается и отбрасывается. Главный поток — а значит и управление — всегда остаётся отзывчивым.

Ограничения этого инструмента

  • Только синтаксис JavaScript regex — особенности PCRE/.NET отсутствуют.
  • Блокирующие шаблоны прерываются, а не «исправляются».
  • Максимум 1000 обработанных совпадений (перечислены первые 100).

Источники

  • ECMAScript Specification: Синтаксис и семантика RegExp.
  • OWASP: Regular expression Denial of Service (ReDoS).

Практика

Практические примеры

Грубая проверка e-mail

Шаблон \S+@\S+\.\S+ находит простые строки, похожие на e-mail.

Извлечение цифр

С флагом g \d+ возвращает все последовательности цифр в тексте.

Использование групп

Круглые скобки захватывают частичные совпадения, которые отображаются отдельно.

ЧаВо

Часто задаваемые вопросы

Почему страница не зависает?

Оценка регулярного выражения выполняется в отдельном Web Worker. Если шаблон блокируется из-за катастрофического бэктрекинга, интерфейс остаётся отзывчивым; worker через короткое время принудительно прерывается.

Что такое катастрофический бэктрекинг?

Определённые шаблоны (например, вложенные квантификаторы вроде (a+)+) при неблагоприятных входных данных могут требовать экспоненциально большого числа шагов. Этот инструмент детерминированно прерывает такие прогоны вместо того, чтобы блокироваться.

Передаются ли мои данные?

Нет. Шаблон и тестовый текст обрабатываются исключительно локально в браузере (в worker). Передача не происходит.

Какой синтаксис поддерживается?

Синтаксис регулярных выражений JavaScript (ECMAScript). Другие диалекты (PCRE, .NET) могут отличаться.

Почему отображаются не все совпадения?

Для защиты от чрезвычайно больших результатов обрабатывается максимум 1000 совпадений; перечислены первые 100, в PDF-экспорте — первые 50. При достижении предела обработки отображается примечание.

Советы

Полезно знать

  • Для всех совпадений включите флаг g.
  • Избегайте вложенных квантификаторов вроде (a+)+ — они могут блокироваться.
  • Оценка выполняется изолированно; страница не зависает.

Связанные калькуляторы

Другие инструменты