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

Проверяйте шаблоны JavaScript, группы и позиции совпадений.

Текст и Regex
Подготовка рабочей области…
Ввод
Вывод
Здесь появится результат.

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

  1. Введите шаблон без разделителей /, флаги и текст.
  2. Запустите вручную, изучите подсветку и JSON-отчёт.
  3. Выберите совпадение для перехода или копирования либо скачайте отчёт.

Проверка JavaScript RegExp

Проверяйте JavaScript RegExp на локальном тексте без отправки серверу. Отчёт содержит текст, нулевые UTF-16-позиции, нумерованные и именованные группы.

Флаги имеют нативный смысл браузера: глобальный поиск, многострочные якоря, Unicode, sticky и необязательные индексы групп.

Чтение совпадений и групп

Совпадения подсвечены во вводе. Навигация выделяет точный исходный текст, включая переводы строк. Несработавшие необязательные группы — null. Пример показывает значения и позиции; полный отчёт включает группы.

Слова и позиции
Шаблон и текст
pattern = (?<word>\p{L}+)
flags = gu
text = Ada and Lin
Фрагмент отчёта
[{"value":"Ada","index":0,"end":3},
 {"value":"and","index":4,"end":7},
 {"value":"Lin","index":8,"end":11}]

Три значения и их UTF-16-позиции [начало, конец).

Флаги и позиции Unicode

u и v несовместимы. Без g выводится только первое совпадение. Пустые глобальные совпадения продвигаются на кодовую точку с u или v, иначе на единицу UTF-16. Они видны в отчёте без цветового диапазона.

Ограниченное локальное выполнение

Ручной запуск в отдельном Worker, лимит 2 секунды и 500 сообщаемых совпадений. Усечение помечается. Ошибки сохраняют техническое объяснение браузера. PCRE, Python и серверные движки не эмулируются.

Ограничения обработки

Текст: до 5 MiB ввода, 100 000 логических строк, 20 MiB вывода и 10 секунд. Regex: 1 MiB текста, 4 096 единиц UTF-16 в шаблоне, 500 совпадений и 2 секунды. Файлы должны быть UTF-8. Вся обработка локальная.

Дополнительные материалыECMAScript · RegExp
?

Частые вопросы

Шаблон выполняется на сервере?

Нет. Его выполняет браузерный Worker, который можно остановить.

Почему проверка остановлена?

Достигнут лимит 2 секунды. Упростите шаблон или уменьшите текст.

Что считают позиции?

Единицы UTF-16 с нуля, как индексы строк JavaScript.

Неверный шаблон удаляет текст?

Нет. Ввод остаётся, прежний отчёт помечается; экспорт отключён до успешного запуска.

Поддерживаются все диалекты regex?

Нет. Синтаксис и флаги соответствуют JavaScript-движку браузера.

Найдите следующий инструмент

Язык

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