# Testador de regex PCRE2

Teste padrões PCRE2 online: toda a sintaxe de grupos nomeados ((?P), (?), (?'n')), quantificadores possessivos, grupos atômicos, \\A \\z \\h — mais pcre2grep e a API C.

> Página canônica: https://elysiatools.com/pt/tools/pcre-regex-tester

- **Categoria:** Development

- **Palavras-chave:** testador regex pcre2, pcre online, php preg, expressão regular, grupos atômicos

## Visão geral

Um testador para o sabor PCRE2 (preg\_\* do PHP, pcre2grep, Delphi, R e muitas ferramentas). O PCRE2 aceita toda a sintaxe de grupos nomeados — (?P…), (?…), (?'year'…) — com retro-referências \\k, \\k{year}, \\g{year} e (?P=year); o testador aceita todas, traduz para o motor ECMAScript e informa correspondências, grupos nomeados e prévia de substituição. Atalhos ausentes no JavaScript são expandidos: âncoras absolutas \\A e \\z, \\Z antes do newline final, \\h / \\H espaço horizontal. Possessivos e grupos atômicos são emulados com captura-em-lookahead e realmente impedem o backtracking; \\d \\w \\s mantêm a semântica ASCII padrão do PCRE2 (ative classes Unicode para emular PCRE2\_UCP). Construções que o ECMAScript não consegue expressar — recursão ((?R), (?1)), condicionais ((?(1)…)), callouts (?C…), \\K, \\G, verbos de backtracking — são detectadas e rejeitadas com explicação. O relatório também monta linhas pcre2grep e um esboço da API C pcre2\_compile / pcre2\_match.

## Entradas

- **Padrão** (text): (?\\d{4})-(?\\d{2})
- **String de teste** (textarea): Paste the text to match against…
- **i — sem caixa** (checkbox)
- **m — multilinha** (checkbox)
- **s — dotall** (checkbox)
- **x — estendido** (checkbox)
- **U — não guloso** (checkbox)
- **g — varredura global** (checkbox)
- **Modelo de substituição (opcional)** (text): \\g / \\1
- **Classes de caracteres Unicode (\d \w \s casam Unicode)** (checkbox)

## Quando usar

- Ao desenvolver scripts em PHP que utilizam funções preg_* e exigem sintaxe estrita do PCRE2.
- Ao criar filtros e expressões regulares para processamento de logs com a ferramenta de linha de comando pcre2grep.
- Ao depurar padrões com grupos atômicos, quantificadores possessivos ou atalhos como \A, \z e \h antes de integrá-los em aplicações C, Delphi ou R.

## Como funciona

- Insira o padrão de expressão regular PCRE2 e o texto de teste nos campos correspondentes.
- Selecione as flags desejadas (como i, m, s, x, U, g) e defina opções como classes Unicode ou modelo de substituição.
- A ferramenta analisa o padrão, expande atalhos específicos do PCRE2, emula estruturas atômicas e exibe as correspondências com grupos capturados.
- Examine o relatório de resultados, que inclui os grupos nomeados encontrados, a prévia de substituição e os trechos de código para pcre2grep e C API.

## Casos de uso

- Validação de rotas e padrões de extração de URLs em frameworks PHP modernos.
- Extração de campos específicos em arquivos de log de servidores utilizando âncoras absolutas e grupos nomeados.
- Otimização de regex com quantificadores possessivos para evitar backtracking catastrófico em fluxos de validação.

## Perguntas frequentes

### Quais formatos de grupos nomeados são aceitos?

O testador aceita as variações (?P...), (?...) e (?'nome'...), além de suas respectivas retro-referências.

### Como os grupos atômicos e quantificadores possessivos são processados?

Eles são convertidos internamente usando estruturas de captura em lookahead, impedindo o backtracking conforme a especificação do PCRE2.

### Quais recursos do PCRE2 não são suportados?

Construções como recursão ((?R), (?1)), condicionais ((?(1)...)), callouts (?C...), \K, \G e verbos de controle de backtracking são identificadas e rejeitadas com aviso explicativo.

### Qual é o efeito da opção de classes de caracteres Unicode?

Ela emula a flag PCRE2_UCP, fazendo com que atalhos como \d, \w e \s considerem propriedades Unicode em vez de apenas a tabela ASCII padrão.

### A ferramenta realiza substituição de texto com grupos nomeados?

Sim, preenchendo o campo de modelo de substituição é possível visualizar a prévia do texto substituído usando referências numéricas ou nomeadas.

## Ferramentas relacionadas

- [Testador de regex Java](https://elysiatools.com/pt/tools/java-regex-tester): Teste padrões java.util.regex online: grupos nomeados (?…), quantificadores possessivos e grupos atômicos, flags Pattern e código Java pronto.
- [Folha de Consulta Regex](https://elysiatools.com/pt/tools/regex-cheat-sheet): Uma folha de consulta pesquisável e localizada para a sintaxe de expressões regulares — classes de caracteres, âncoras, quantificadores, grupos e referências, lookaheads, sequências de escape e flags, com um testador rápido integrado
- [Depurador de Regex](https://elysiatools.com/pt/tools/regex-debugger): Percorra como uma expressão regular corresponde a uma string posição por posição: visualize tentativas de correspondência, sucessos parciais, backtracks e capturas — uma ferramenta para entender o comportamento do regex, não apenas o resultado final
- [Testador Regex](https://elysiatools.com/pt/tools/regex-tester): Testa expressões regulares contra texto
- [Benchmark de Regex](https://elysiatools.com/pt/tools/regex-benchmark): Compare o desempenho de diferentes padrões regex, identifique gargalos e detecte casos degenerativos
- [Testador de regex C# (.NET)](https://elysiatools.com/pt/tools/csharp-regex-tester): Teste online expressões regulares .NET/C#: grupos nomeados ((?…)), opções IgnoreCase/Multiline/Singleline, realce, tabela de grupos e código C# pronto para colar.
- [Testador de regex Python (módulo re)](https://elysiatools.com/pt/tools/python-regex-tester): Teste padrões do módulo re do Python online: grupos nomeados (?P…), retro-referências (?P=name), VERBOSE, comportamento findall e modelos \\g — mais código Python pronto.
- [Visualizador de Diagrama Ferroviário de Regex](https://elysiatools.com/pt/tools/regex-railroad-diagram-visualizer): Renderiza uma expressão regular como diagrama ferroviário SVG mostrando literais, grupos, alternativas e repetição, com numeração de grupos de captura e explicação das flags

## Exemplos

- [Exemplos de Substituição de Regex](https://elysiatools.com/pt/samples/regex-replace): Coleção de padrões de substituição de regex comuns e úteis para transformação de texto e limpeza de dados
- [Padrões Comuns de Expressões Regulares](https://elysiatools.com/pt/samples/regex-samples): Padrões de expressões regulares comumente usados para validação e correspondência
- [Alternativas de Padrões Regex](https://elysiatools.com/pt/samples/regex-alternatives): Múltiplas formas de escrever o mesmo padrão regex com diferentes compensações
- [Grupos de Captura Nomeados Regex](https://elysiatools.com/pt/samples/regex-named-groups): Coleção de padrões regex usando grupos de captura nomeados para extrair dados estruturados de texto. Grupos nomeados tornam os padrões mais legíveis e mantíveis atribuindo nomes significativos às partes capturadas.
