Тестер регулярных выражений
Проверяйте регулярное выражение в реальном времени: совпадения, группы и замена
Загрузка инструмента…
Введите регулярное выражение и тестовую строку — совпадения сразу подсветятся, а для каждого будут показаны позиция и значения групп. Пригодится, чтобы перед вставкой в код убедиться, что шаблон находит то, что нужно, а замена даёт правильный результат.
Как пользоваться
- Введите выражение в поле «Шаблон» без слешей и нажимайте кнопки флагов, например g, i или m, чтобы включать и выключать их.
- Введите текст в поле «Тестовая строка». Совпадения подсвечиваются, а на вкладке «Совпадения» перечислены их позиции и группы.
- На вкладке «Замена» введите номер группы, например $1, в поле «Заменить на», чтобы увидеть результат. «Разбиение» показывает части между совпадениями.
- Выберите пример в разделе «Частые шаблоны» или откройте «Краткий синтаксис», чтобы найти значение символа. «Копировать ссылку» позволяет другому человеку открыть тот же шаблон и текст.
Как это работает
- Поиск совпадений выполняет движок RegExp JavaScript вашего браузера, поэтому результаты такие же, как в коде на JavaScript.
- Поиск выполняется в отдельном фоновом потоке и останавливается через 1 секунду. Находится до 10 000 совпадений, а в списке показываются первые 500.
- Ничего из введённого не сохраняется. Ссылка для обмена содержит шаблон и текст (первые 4000 символов) внутри самой ссылки; ничего не загружается на сервер.
Частые вопросы
- Почему регулярное выражение находит только первое совпадение?
- Без флага g находится только первое совпадение. Включите кнопку g, чтобы найти все совпадения.
- Как использовать группу захвата при замене в regex?
- $1 и $2 — нумерованные группы, а $& — всё совпадение; именованная группа записывается как $ и её имя в угловых скобках. Замена (\d{4})-(\d{2})-(\d{2}) на $3.$2.$1 превращает 2024-03-15 в 15.03.2024.
- Какое регулярное выражение подходит для email?
- Пример «Email (простой)» — это [\w.+-]+@[\w-]+(?:\.[\w-]+)+. Он находит обычные адреса, но не проверяет все правила стандарта электронной почты.
- Регулярные выражения в JavaScript такие же, как в Python или Java?
- Базовый синтаксис в основном совпадает, но детали различаются. Например, именованная группа в JavaScript начинается с (?<, а в Python — с (?P<.
- Что означает «Остановлено через 1 с»?
- Шаблоны с вложенными квантификаторами, например (a+)+, могут перебирать огромное число комбинаций на тексте, который не совпадает. Сделайте внутреннюю часть конкретнее или уберите вложенность.