# Testador de regex Java

Teste padrões java.util.regex online: grupos nomeados (?…), quantificadores possessivos e grupos atômicos, flags Pattern e código Java pronto.

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

- **Categoria:** Development

- **Palavras-chave:** testador regex java, expressão regular online, pattern matcher, quantificadores possessivos, grupos nomeados

## Visão geral

Um testador para o sabor java.util.regex (Pattern / Matcher). Escreva o padrão como em Java — grupos nomeados (?…), retro-referência \\k, quantificadores possessivos como a\*+, grupos atômicos (?>…) — ele é traduzido para o motor ECMAScript e executado no seu texto: cada correspondência, grupos de captura com nome e prévia de substituição com a sintaxe Java $1 / ${name}. Gera código Java pronto com as flags Pattern.CASE\_INSENSITIVE / MULTILINE / DOTALL / COMMENTS / UNICODE\_CHARACTER\_CLASS corretas e o acesso matcher.group("name"). As semânticas do Java são respeitadas: \\d \\w \\s casam só ASCII até ativar as classes Unicode (emulando UNICODE\_CHARACTER\_CLASS); possessivos e atômicos são emulados com captura-em-lookahead e realmente impedem o backtracking; diferenças que o Java rejeita (lookbehind de comprimento variável) são anotadas onde o emulador é mais permissivo.

## Entradas

- **Padrão** (text): (?\\d{4})-(?\\d{2})
- **String de teste** (textarea): Paste the text to match against…
- **i — CASE_INSENSITIVE** (checkbox)
- **m — MULTILINE** (checkbox)
- **s — DOTALL** (checkbox)
- **x — COMMENTS** (checkbox)
- **u — UNICODE_CHARACTER_CLASS** (checkbox)
- **g — achar todas as correspondências** (checkbox)
- **Modelo de substituição (opcional)** (text): ${name} / $1
- **Classes de caracteres Unicode (\d \w \s casam Unicode)** (checkbox)

## Quando usar

- Ao desenvolver regras de validação ou extração para aplicações backend em Java utilizando java.util.regex.
- Ao testar expressões regulares complexas com quantificadores possessivos ou grupos atômicos para evitar retrocesso excessivo (backtracking).
- Ao simular substituições de texto usando a sintaxe de referências do Java ($1, ${nome}) antes de aplicá-las no código.

## Como funciona

- Insira a expressão regular Java no campo de padrão e adicione o texto a ser analisado no campo de string de teste.
- Configure as flags necessárias, como CASE_INSENSITIVE, MULTILINE, DOTALL, COMMENTS ou UNICODE_CHARACTER_CLASS.
- Opcionalmente, preencha o modelo de substituição com marcadores como $1 ou ${name} para visualizar o texto substituído.
- Analise o relatório detalhado de correspondências, grupos de captura nomeados e copie o trecho de código Java gerado.

## Casos de uso

- Extração de entidades nomeadas e metadados estruturados de arquivos de log usando grupos com nome.
- Otimização de regex com quantificadores possessivos para proteger serviços Java contra vulnerabilidades ReDoS.
- Reescrita e higienização de strings em lote gerando chamadas de Matcher.replaceAll com substituições parametrizadas.

## Perguntas frequentes

### Como o testador lida com quantificadores possessivos como a*+?

Eles são emulados com estruturas de captura em lookahead, impedindo o retrocesso (backtracking) de forma idêntica à execução nativa do Java.

### Qual é a diferença entre \d padrão e a opção de classes Unicode?

Por padrão no Java, \d, \w e \s casam apenas caracteres ASCII; ao ativar UNICODE_CHARACTER_CLASS, passam a contemplar dígitos e letras de outros alfabetos.

### O testador aceita grupos de captura nomeados?

Sim, suporta a sintaxe (?...) e retro-referências \\k, exibindo os grupos capturados individualmente nos resultados.

### O código Java gerado inclui as flags configuradas?

Sim, o trecho gerado inclui a compilação com Pattern.compile e as constantes de flag equivalentes selecionadas na interface.

### Lookbehind de comprimento variável é aceito?

O motor do navegador pode aceitar lookbehinds variáveis, mas o testador exibe um aviso caso seja uma construção rejeitada pelo java.util.regex nativo.

## Ferramentas relacionadas

- [Testador de regex PCRE2](https://elysiatools.com/pt/tools/pcre-regex-tester): 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.
- [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.
- [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
- [Explicador de Regex](https://elysiatools.com/pt/tools/ai-regex-explainer): Usa IA para decompor expressões regulares em explicações legíveis
- [Correspondente de Múltiplos Padrões](https://elysiatools.com/pt/tools/multi-pattern-matcher): Executa múltiplos padrões de expressão regular contra texto em uma operação
- [Benchmark de Regex](https://elysiatools.com/pt/tools/regex-benchmark): Compare o desempenho de diferentes padrões regex, identifique gargalos e detecte casos degenerativos
- [Glob para Regex](https://elysiatools.com/pt/tools/glob-to-regex): Converte padrões de correspondência de arquivos (Glob) em expressões regulares

## Exemplos

- [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.
- [Exemplos de Processamento de Strings Android Java](https://elysiatools.com/pt/samples/android-string-processing-java): Exemplos de processamento de strings Android Java incluindo divisão e junção de strings, expressões regulares e substituição de strings
- [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
