Перейти к содержимому
Toolars
Каталог

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

JavaScript Regex Tester

Проверяйте регулярные выражения JavaScript: обзор групп захвата, точные смещения совпадений, предпросмотр замены и таймаут Worker.

Путь задачи / от ввода к результату

Введите шаблон и флаги

Сообщить об ошибке

Локальная обработка

Сведения об обработке

Данные инструмента обрабатываются на вашем устройстве.

Для работы инструмента могут загружаться ресурсы. Сервисы аккаунта работают отдельно.

Подготовка офлайн-режима…

Информация о конфиденциальности

Путь задачи / от ввода к результату

Как проверить регулярное выражение JavaScript

  1. 01

    Введите шаблон и флаги

    Введите только сам шаблон JavaScript между видимыми косыми чертами — до 4 096 символов — и отметьте нужные флаги: d, g, i, m, s, u и y снабжены встроенными пояснениями. Повторяющиеся флаги и несовместимые сочетания отклоняются с конкретной ошибкой. Рабочая область открывается с примером шаблона, который захватывает протокол, хост и путь URL через именованные группы, так что есть рабочий образец для доработки.

  2. 02

    Вставьте тестовый текст

    Вставьте или введите до 100 000 символов в область тестового текста. Вставка сразу запускает локальную проверку; при включённой автопроверке обычный ввод перезапускается после короткой паузы, а при выключенной можно нажать Ctrl или Command + Enter либо кнопку запуска для проверки по требованию. Счётчик рядом с каждой подписью отслеживает длину шаблона и текста относительно их лимитов.

  3. 03

    Проверьте совпадения и группы

    Совпадения подсвечиваются прямо в тексте — совпадения нулевой ширины показаны маркерами на своих позициях — а набор результатов ограничен 1 000 совпадений с явным уведомлением при достижении предела. Выберите совпадение, чтобы увидеть его точные начальную и конечную позиции UTF-16, все нумерованные и именованные группы, включая не участвовавшие в совпадении. Кнопки «Назад», «Далее», Shift+F3 и F3 перемещают по набору, а строка сводки показывает число совпадений и длительность запуска в миллисекундах.

  4. 04

    Оцените замену JavaScript

    Откройте вкладку предварительного просмотра замены и используйте токены JavaScript, например $1 или $<name>, в строке замены длиной до 20 000 символов. Просмотр в точности следует встроенному поведению String.replace — включая то, что вставляет группа, не участвовавшая в совпадении, — и никогда не меняет исходный текст, поэтому замену можно подбирать итеративно, не теряя исходный журнал или документ.

  5. 05

    Безопасно восстановитесь после тяжёлого шаблона

    Каждый тест использует новый локальный Worker: запуск ограничен 5 секундами, выполнение — 650 мс. Отмена останавливает Worker и автопроверку, сохраняя ввод. Редактирование сразу очищает старый результат; перед копированием или скачиванием повторите тест. После превышения времени или объёма вывода уменьшите текст, группы или замену и запустите новый Worker.

Факты об инструменте

Обработка
В вашем браузере
Ввод покидает устройство
Никогда
Хранение
Ничего не сохраняется
Цена
Бесплатно

Ваши данные остаются в браузере.

Тестер регулярных выражений JavaScript использует проверенный путь локального выполнения и не создаёт скрытую историю ввода и вывода.

Локальное выполнение

Работает внутри текущей вкладки браузера.

Никакой скрытой обработки

Активные данные инструмента никогда не становятся записями документов Toolars.

Аккаунт не требуется

Используйте основной сценарий без создания профиля. Избранное синхронизируется с аккаунтом после входа.

Мгновенный сброс

Закройте вкладку — и рабочие данные исчезнут.

Что на самом деле делает Тестер регулярных выражений JavaScript

Журнал приложения на несколько сотен строк содержит URL, которые нужно извлечь перед публикацией правила перенаправления. Пример шаблона — именованные группы для протокола, хоста и пути — служит отправной точкой: вставьте журнал, наблюдайте подсветку каждого совпадения с точными позициями и открывайте отдельные совпадения, чтобы построчно проверить захваты хоста и пути. Затем введите $<protocol>://$<host> в поле замены и убедитесь, что предпросмотр убирает пути именно так, как задумано, прежде чем копировать проверенный шаблон в код перенаправления. Журнал никогда не покидает вкладку, что важно, когда в нём внутренние имена хостов.

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

Какой диалект регулярных выражений поддерживается?
Этот выпуск поддерживает только движок JavaScript RegExp — то поведение, которое шаблон будет иметь в работающем коде JavaScript. Совместимость с PCRE, RE2, Rust regex, Python, Java и .NET не заявляется: их синтаксис и поведение могут отличаться, поэтому шаблон, перенесённый из одного из этих движков, стоит заново проверить здесь перед повторным использованием.
Какие флаги можно использовать и что они меняют?
Доступны d, g, i, m, s, u и y: d добавляет индексы совпадений, g находит все совпадения, i игнорирует регистр, m заставляет якоря совпадать построчно, s позволяет точке пересекать переводы строк, u включает семантику с учётом Unicode, а y привязывает каждую попытку к последней позиции. Повторяющиеся флаги и несовместимые сочетания отклоняются. Более новый флаг v пока скрыт, чтобы проверяемая поверхность соответствовала поддерживаемой базе браузеров.
Каковы лимиты ввода?
Выражение допускает 4 096 единиц UTF-16, текст — 100 000, шаблон замены — 20 000. Видны только первые 1 000 совпадений; замена включает все совпадения в пределах лимитов. Результат замены и сохранённый текст совпадений и групп ограничены 1 000 000 единицами UTF-16 каждый, а суммарное число записей нумерованных и именованных групп — 20 000. Превышение вызывает ошибку без частичного экспорта.
Может ли катастрофический бэктрекинг зависнуть страницу?
Выполнение шаблона изолировано от интерфейса в отдельном Worker с проверенным тайм-аутом 650 мс. Worker после тайм-аута завершается и не используется повторно, поэтому страница остаётся отзывчивой даже при тяжёлом бэктрекинге. Это защищает страницу, но не доказывает безопасность шаблона для любой производственной нагрузки — воспринимайте тайм-аут здесь как предупреждение, которое стоит учесть до публикации шаблона.
Почему мой шаблон завершается ошибкой?
Введите тело шаблона и выберите флаги отдельно. Для /abc/i введите abc и отметьте i. Вставка /abc/i в поле не включает флаг i: это допустимый шаблон с буквальными косыми чертами и буквой i, поэтому возможны неожиданные совпадения, а не синтаксическая ошибка. Недопустимый синтаксис отклоняет движок JavaScript; исправьте его и запустите проверку снова.
Шаблоны или тестовый текст загружаются или сохраняются?
Нет. Поиск, извлечение групп, просмотр замены, подготовка копирования и проверка выполняются в браузере. Исходные шаблоны, текст, замены и результаты не попадают в URL, аналитику, журналы, удалённые запросы или хранилище браузера; очистка рабочей области удаляет их.

Читайте также

Связанные задачи, а не тупик.

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

Работа с URL

URL Workbench

Очищайте списки URL с сохранением подписанных ссылок и причинами по строкам. Сравнивайте адреса и создавайте sitemap.

Редактирование

Исследователь JSON

JSON Explorer

Запросы JSONPath, извлечение полей и обратимое развёртывание JSON Pointer без потери точности больших чисел.

Проверка

Проверка JSON Schema

JSON Schema Validator

Локальная проверка Draft 7 и 2020-12 с путями ошибок; вывод схемы по нескольким образцам.

Проверка

Подготовка HTML

HTML Publishing

Подготовка HTML с сохранением списков, ссылок и семантики таблиц; безопасный просмотр изменений.

Публикация