# Тестер regex PCRE2

Проверяйте шаблоны PCRE2 онлайн: весь синтаксис именованных групп ((?P), (?), (?'n')), сверхжадные квантификаторы, атомарные группы, \\A \\z \\h — плюс pcre2grep и C API.

> Каноническая страница: https://elysiatools.com/ru/tools/pcre-regex-tester

- **Категория:** Development

- **Ключевые слова:** pcre2 regex тестер, pcre онлайн, php preg, регулярные выражения, атомарные группы

## Обзор

Тестер диалекта PCRE2 (preg\_\* PHP, pcre2grep, Delphi, R и многие инструменты). PCRE2 принимает весь синтаксис именованных групп — (?P…), (?…), (?'year'…) — с обратными ссылками \\k, \\k{year}, \\g{year} и (?P=year); тестер принимает их все, транслирует в ECMAScript-движок и сообщает совпадения, именованные группы и предпросмотр замены. Отсутствующие в JavaScript сокращения раскрываются: абсолютные якоря \\A и \\z, \\Z перед финальным переводом строки, \\h / \\H горизонтальный пробел. Сверхжадные и атомарные эмулируются захватом-в-lookahead и реально запрещают откат; \\d \\w \\s сохраняют ASCII-семантику PCRE2 по умолчанию (включите Unicode-классы для эмуляции PCRE2\_UCP). Конструкции, которые ECMAScript выразить не может — рекурсия ((?R), (?1)), условные ((?(1)…)), коллауты (?C…), \\K, \\G, глаголы отката — распознаются и отклоняются с пояснением. Отчёт также строит команды pcre2grep и скелет C API pcre2\_compile / pcre2\_match.

## Входные данные

- **Шаблон** (text): (?\\d{4})-(?\\d{2})
- **Тестовая строка** (textarea): Paste the text to match against…
- **i — без регистра** (checkbox)
- **m — многострочный** (checkbox)
- **s — dotall** (checkbox)
- **x — расширенный** (checkbox)
- **U — нежадный** (checkbox)
- **g — глобальный поиск** (checkbox)
- **Шаблон замены (необязательно)** (text): \\g / \\1
- **Классы символов Unicode (\d \w \s учитывают Unicode)** (checkbox)

## Когда использовать

- Отладка выражений для функций PHP preg_match и preg_replace с проверкой именованных групп и обратных ссылок.
- Составление фильтров и команд для утилиты pcre2grep при анализе серверных логов и текстовых файлов.
- Проверка шаблонов со специфичными для PCRE2 конструкциями, такими как горизонтальные пробелы \h, атомарные группы (?>...) и абсолютные якоря \A и \z.

## Как это работает

- Введите регулярное выражение в поле шаблона и укажите тестовую строку в поле входного текста.
- Настройте необходимые флаги совпадения (i, m, s, x, U, g) и при необходимости включите поддержку классов символов Unicode (режим PCRE2_UCP).
- При необходимости задайте строку подстановки для предпросмотра результатов замены.
- Инструмент транслирует конструкции PCRE2, выделяет совпадения, извлекает именованные группы захвата и формирует готовые примеры для pcre2grep и C API (pcre2_compile / pcre2_match).

## Сценарии использования

- Разработка и проверка регулярных выражений для бэкенд-кода на PHP (функции preg_*).
- Быстрое прототипирование регулярных выражений и генерация вызовов C API (pcre2_compile / pcre2_match) для системного ПО.
- Тестирование сложных правил парсинга структурированных логов с использованием горизонтальных пробелов \h и абсолютных якорей.

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

### Какие варианты именованных групп поддерживает тестер?

Поддерживаются все варианты синтаксиса PCRE2: (?P...), (?...) и (?'name'...), а также ссылки \\k, \\k{name}, \\g{name} и (?P=name).

### Чем отличаются якоря \A и \z от ^ и $?

\A и \z привязываются строго к началу и концу всего текста независимо от флага многострочности (m), в то время как ^ и $ могут срабатывать на каждой строке.

### Как эмулируются атомарные группы и сверхжадные квантификаторы?

Они преобразуются с помощью опережающих проверок с захватом (lookahead-capture), что гарантированно исключает возврат (backtracking).

### Какие конструкции PCRE2 не поддерживаются инструментом?

Конструкции, которые невозможно транслировать в браузерный движок (рекурсия (?R), условные подмаски (?(1)...), коллауты (?C...), сброс \K, \G и глаголы отката), отклоняются с пояснением.

### За что отвечает опция классов символов Unicode?

По умолчанию метасимволы \d, \w, \s обрабатывают только символы ASCII. Включение этой опции эмулирует флаг PCRE2_UCP для работы с символами всего диапазона Unicode.

## Связанные инструменты

- [Тестер regex Java](https://elysiatools.com/ru/tools/java-regex-tester): Проверяйте шаблоны java.util.regex онлайн: именованные группы (?…), сверхжадные квантификаторы и атомарные группы, флаги Pattern и готовый код Java.
- [Шпаргалка по Regex](https://elysiatools.com/ru/tools/regex-cheat-sheet): Искабельная локализованная шпаргалка по синтаксису регулярных выражений — классы символов, якоря, квантификаторы, группы и ссылки, заглядывания, escape-последовательности и флаги, со встроенным быстрым тестером
- [Трассировщик Regex](https://elysiatools.com/ru/tools/regex-debugger): Пошагово покажите, как регулярное выражение сопоставляется со строкой позиция за позицией: визуализируйте попытки совпадения, частичные успехи, возвраты и захваты — инструмент для понимания поведения regex, а не только финального результата
- [Тестер Regex](https://elysiatools.com/ru/tools/regex-tester): Тестирует регулярные выражения на тексте
- [Бенчмарк Регулярных Выражений](https://elysiatools.com/ru/tools/regex-benchmark): Сравните производительность различных паттернов regex, выявите узкие места и обнаружьте вырожденные случаи
- [Тестер regex C# (.NET)](https://elysiatools.com/ru/tools/csharp-regex-tester): Проверяйте регулярные выражения .NET/C# онлайн: именованные группы ((?…)), флаги IgnoreCase/Multiline/Singleline, подсветка, таблица групп и готовый код C#.
- [Тестер regex Python (модуль re)](https://elysiatools.com/ru/tools/python-regex-tester): Проверяйте шаблоны встроенного модуля re онлайн: именованные группы (?P…), обратные ссылки (?P=name), VERBOSE, поведение findall и шаблоны \\g — плюс готовый код Python.
- [Визуализатор железнодорожной диаграммы regex](https://elysiatools.com/ru/tools/regex-railroad-diagram-visualizer): Преобразует регулярное выражение в SVG-железнодорожную диаграмму (синтаксическое дерево), показывая литералы, группы, альтернативы и повторения, с нумерацией групп захвата и пояснением флагов

## Примеры

- [Примеры Замены Regex](https://elysiatools.com/ru/samples/regex-replace): Коллекция общих и полезных шаблонов замены regex для преобразования текста и очистки данных
- [Распространенные Регулярные Выражения](https://elysiatools.com/ru/samples/regex-samples): Общепринятые шаблоны регулярных выражений для проверки и сопоставления
- [Альтернативы Шаблонов Regex](https://elysiatools.com/ru/samples/regex-alternatives): Несколько способов написания одного и того же шаблона regex с различными компромиссами
- [Именованные Захватывающие Группы Regex](https://elysiatools.com/ru/samples/regex-named-groups): Коллекция паттернов регулярных выражений, использующих именованные захватывающие группы для извлечения структурированных данных из текста. Именованные группы делают паттерны более читаемыми и поддерживаемыми, присваивая значимые имени захваченным частям.
