Как пользоваться
- Введите шаблон без разделителей /, флаги и текст.
- Запустите вручную, изучите подсветку и JSON-отчёт.
- Выберите совпадение для перехода или копирования либо скачайте отчёт.
Проверка 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. Вся обработка локальная.
Частые вопросы
Шаблон выполняется на сервере?
Нет. Его выполняет браузерный Worker, который можно остановить.
Почему проверка остановлена?
Достигнут лимит 2 секунды. Упростите шаблон или уменьшите текст.
Что считают позиции?
Единицы UTF-16 с нуля, как индексы строк JavaScript.
Неверный шаблон удаляет текст?
Нет. Ввод остаётся, прежний отчёт помечается; экспорт отключён до успешного запуска.
Поддерживаются все диалекты regex?
Нет. Синтаксис и флаги соответствуют JavaScript-движку браузера.