
Testador de RegEx Java
Teste e depure expressões regulares Java instantaneamente com o Testador de RegEx Java do Qodex, movido pelo motor java.util.regex. Obtenha feedback em tempo real com destaque de correspondências, grupos de captura e detecção de erros de sintaxe, ideal para validação de e-mail, verificação de senhas e análise de strings baseada em padrões.
Seja para criar formulários de login, validadores de entrada ou parsers personalizados, esta ferramenta simplifica seu fluxo de trabalho com regex em Java. Para testes abrangentes, combine com o Gerador de E-mail, Gerador de UUID ou Gerador de Senha para gerar entradas de teste realistas.
Refine campos específicos com nosso Validador de Regex de E-mail Java ou Validador de Regex de Número de Telefone Java para garantir que seus padrões sejam precisos e prontos para produção.
Testador de RegEx Java - Documentação
Testador de Regex Java
O Testador de Regex Java do Qodex ajuda desenvolvedores a escrever, testar e depurar expressões regulares em tempo real usando o pacote java.util.regex do Java. Suporta testes instantâneos de padrões para e-mails, senhas, números de telefone, datas, cartões de crédito e muito mais.
Você pode visualizar resultados de correspondência ao vivo, grupos de captura e feedback de sintaxe instantaneamente, facilitando o refinamento do seu regex antes de usá-lo em código Java.
Nota Importante: Esta ferramenta é executada no navegador usando o motor regex do JavaScript, que difere do
java.util.regexdo Java em vários aspectos. Diferenças principais a serem observadas:
Quantificadores possessivos (
*+,++,?+) são suportados em Java, mas não em JavaScriptGrupos atômicos (
(?>...)) funcionam em Java, mas não em JavaScriptClasses de propriedade Unicode como
\p{IsGreek}ou\p{Sc}têm suporte mais amplo em JavaSintaxe de referência inversa difere em strings de substituição: Java usa
$1, JavaScript usa$1(igual), mas Java também suporta\1no padrãoFlags: Java suporta
Pattern.CANON_EQePattern.UNIX_LINESque não têm equivalente em JavaScriptPara código Java em produção, sempre verifique os padrões usando
Pattern.compile()na sua IDE ou em um ambiente de execução Java.
Como usar:
Insira sua expressão regular.
Forneça uma string de teste.
Veja instantaneamente as correspondências destacadas e os grupos de captura.
Precisa de entradas de teste? Use nossos:
Referência Rápida de Regex Java / Cheat Sheet
Salve esta tabela para consultas rápidas ao escrever padrões regex Java:
Padrão | Descrição | Exemplo | Corresponde |
|---|---|---|---|
| Qualquer caractere exceto nova linha |
| cat, cot, cut |
| Qualquer dígito [0-9] |
| 123, 456 |
| Qualquer não-dígito |
| abc, hello |
| Char de palavra [a-zA-Z0-9_] |
| hello_42 |
| Caractere não-palavra |
| @, #, ! |
| Espaço em branco (espaço, tab, nova linha) |
| espaços, tabs |
| Não-espaço em branco |
| hello |
| Início da string/linha |
| Hello no início |
| Fim da string/linha |
| world no final |
| Limite de palavra |
| cat (não cats) |
| Classe de caractere |
| qualquer vogal |
| Classe negada |
| não-dígito |
| Intervalo |
| qualquer letra |
| 0 ou mais (greedy) |
| ac, abc, abbc |
| 1 ou mais (greedy) |
| abc, abbc |
| 0 ou 1 (opcional) |
| color, colour |
| Exatamente n vezes |
| 2024 |
| Entre n e m vezes |
| 12, 123, 1234 |
| 0 ou mais (lazy) |
| tag mais curta |
| Grupo de captura |
| grupos: 12, 34 |
| Grupo não-capturante |
| ab, abab |
| Lookahead positivo |
| 5 em 5px |
| Lookahead negativo |
| foo não antes de bar |
| Lookbehind positivo |
| domínio após @ |
| Lookbehind negativo |
| px não após dígito |
| Qualquer letra Unicode |
| Hello, 你好 |
| Referência inversa ao grupo 1 |
| hello hello |
Fundamentos da Sintaxe Regex Java
Metacaracteres
.: Corresponde a qualquer caractere único exceto nova linha. Comumente usado como curinga.^: Ancora a correspondência no início de uma linha ou string. Exemplo:^abccorresponde aabcsomente se estiver no início.$: Ancora a correspondência no final de uma linha ou string. Exemplo:xyz$corresponde axyzsomente no final.|: Funciona como operador lógico OU. Exemplo:cat|dogcorresponde a cat ou dog.
Classes de Caractere
[abc]: Corresponde a qualquer um dos caracteres:a,bouc.[^abc]: Corresponde a qualquer caractere excetoa,bouc.[a-zA-Z]: Especifica um intervalo, corresponde a qualquer letra maiúscula ou minúscula de a a z.
Classes de Caractere Predefinidas
\d: Corresponde a qualquer dígito; equivalente a[0-9].\D: Corresponde a qualquer não-dígito; equivalente a[^0-9].\s: Corresponde a qualquer espaço em branco (espaço, tab, nova linha).\S: Corresponde a qualquer caractere que não seja espaço em branco.\w: Corresponde a qualquer caractere de palavra (letras, dígitos ou sublinhado); equivalente a[a-zA-Z0-9_].\W: Corresponde a qualquer caractere que não seja de palavra.
Quantificadores
*: Corresponde a zero ou mais ocorrências do elemento anterior.+: Corresponde a uma ou mais ocorrências.?: Corresponde a zero ou uma ocorrência. Também torna os quantificadores lazy quando colocado após eles.{n}: Corresponde exatamente a n ocorrências. Exemplo:a{3}corresponde aaaa.{n,}: Corresponde a n ou mais ocorrências.{n,m}: Corresponde entre n e m ocorrências.
Grupos e Captura
(abc): Captura e agrupa a correspondência paraabc. Pode ser reutilizado com referências inversas.(?:abc): Agrupaabcsem capturá-lo. Útil para aplicar quantificadores sem criar referências.(?i)abc: Habilita correspondência sem distinção entre maiúsculas e minúsculas para o grupo.\b: Um limite de palavra.\B: Um não-limite de palavra.\1,\2, etc.: Referências inversas a grupos capturados.
Lookaheads e Lookbehinds
(?=...): Lookahead positivo. Garante que o que segue a posição atual corresponde ao padrão interno.(?!...): Lookahead negativo. Garante que os caracteres seguintes não correspondam ao padrão.(?<=...): Lookbehind positivo. Garante que o que precede a posição atual corresponde ao padrão.(?<!...): Lookbehind negativo. Garante que o que precede não é uma correspondência.
Quantificadores Greedy vs Lazy
*?: Corresponde ao mínimo possível, zero ou mais vezes.+?: Corresponde ao mínimo possível, uma ou mais vezes.??: Corresponde ao mínimo possível, zero ou uma vez.{n,m}?: Corresponde entre n e m vezes, escolhendo a menor correspondência possível.
Quantificadores lazy são úteis quando você está tentando evitar consumir muito texto, especialmente útil para tags aninhadas ou delimitadores repetidos.
Suporte a Unicode
\p{L}: Corresponde a qualquer tipo de letra de qualquer idioma.\p{N}: Corresponde a qualquer tipo de caractere numérico.\p{IsGreek}: Corresponde a qualquer caractere no bloco Unicode grego.\P{...}: O inverso de\p{...}.
As propriedades Unicode permitem que seu regex funcione globalmente, ótimo para aplicações internacionais.
Exemplos Comuns de Regex Java
Cada exemplo abaixo inclui código Java completo e executável que você pode copiar para sua IDE.
1. Validação de E-mail
Use com o Validador de Regex de E-mail Java
import java.util.regex.*;
public class EmailValidator { public static void main(String[] args) { String email = "test@example.com"; Pattern pattern = Pattern.compile("^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$"); Matcher matcher = pattern.matcher(email); System.out.println("Email valid: " + matcher.matches()); // true } }
2. Verificação de Senha Forte
Teste com o Validador de Regex de Senha Java
import java.util.regex.*;
public class PasswordValidator { public static void main(String[] args) { String password = "Str0ng@Pass!"; String regex = "(?=.[a-z])(?=.[A-Z])(?=.\d)(?=.[@$!%?&])[A-Za-z\d@$!%?&]{8,}"; boolean isStrong = password.matches(regex); System.out.println("Password strong: " + isStrong); // true } }
3. Formatos de Número de Telefone
Cobre (123) 456-7890, 1234567890, 123-456-7890:
import java.util.regex.*;
public class PhoneValidator { public static void main(String[] args) { String[] phones = {"(123) 456-7890", "1234567890", "123-456-7890"}; Pattern pattern = Pattern.compile( "^(\d{10}|\(\d{3}\)[\s.-]?\d{3}[\s.-]\d{4}|\d{3}[\s.-]\d{3}[\s.-]\d{4})$" ); for (String phone : phones) { System.out.println(phone + " valid: " + pattern.matcher(phone).matches()); } } }
4. Correspondência de Padrão de Cartão de Crédito (Visa)
Use o Validador de Regex de Cartão de Crédito Java com verificação Luhn para validação completa.
import java.util.regex.*;
public class CreditCardValidator { public static void main(String[] args) { String card = "4111111111111111"; Pattern visa = Pattern.compile("^4[0-9]{12}(?:[0-9]{3})?$"); System.out.println("Visa valid: " + visa.matcher(card).matches()); // true } }
5. Formatos de Data (ISO / US)
O regex verifica apenas o formato. Use bibliotecas de data Java para validação de calendário.
import java.util.regex.*;public class DateValidator { public static void main(String[] args) { String isoDate = "2024-12-25"; String usDate = "12/25/2024";
Pattern isoPattern = Pattern.compile("\\d{4}-\\d{2}-\\d{2}"); Pattern usPattern = Pattern.compile("\\d{2}/\\d{2}/\\d{4}"); System.out.println("ISO valid: " + isoPattern.matcher(isoDate).matches()); // true System.out.println("US valid: " + usPattern.matcher(usDate).matches()); // true }
}
Dicas Importantes
Sempre escape caracteres regex duas vezes em strings Java (por exemplo,
\.para corresponder a um ponto literal).Prefira grupos não-capturantes a menos que você precise de referências.
Evite regex para analisar formatos estruturados como JSON, HTML ou XML, use parsers em vez disso.
Use
Pattern.compile()uma vez e reutilize padrões compilados para melhor desempenho.Use
[\s\S]em vez de.para correspondência multilinha quando o modo DOTALL for necessário.
Teste Mais Padrões Regex em Java:
Quer testar em outro idioma? Experimente nossos:
Frequently Asked Questions
Como escrevo um padrão regex em código Java?
Como verifico se uma string corresponde exatamente a um padrão?
Como posso tornar meu regex sem distinção entre maiúsculas e minúsculas em Java?
Como valido um endereço de e-mail usando regex Java?
Qual é a diferença entre quantificadores greedy e lazy?
Esta ferramenta usa o motor regex do Java?
Como valido números de cartão de crédito para vários tipos de cartão usando expressões regulares?
Related Articles



Teste suas APIs hoje!
Escreva em português simples e o Qodex transforma em testes seguros e prontos para executar.



