Teste expressões regulares com destaque de correspondência em tempo real, validação de padrões e explicações de símbolos comuns de regex. Salve e reutilize seus padrões frequentemente usados com rótulos personalizados.
Digite um padrão e texto de teste para ver os resultados
Digite um padrão e texto de teste para ver os resultados
Nenhum padrão salvo ainda
.
Corresponde a qualquer caractere, exceto nova linha\d
Corresponde a qualquer dígito (0-9)\D
Corresponde a qualquer não dígito\w
Corresponde a qualquer caractere alfanumérico (a-z, A-Z, 0-9, _)\W
Corresponde a qualquer caractere que não é alfanumérico\s
Corresponde a qualquer caractere de espaço em branco\S
Corresponde a qualquer caractere que não é espaço em branco^
Corresponde ao início da linha$
Corresponde ao fim da linha*
Corresponde a 0 ou mais do caractere anterior+
Corresponde a 1 ou mais do caractere anterior?
Corresponde a 0 ou 1 do caractere anterior{n}
Corresponde exatamente a n do caractere anterior{n,}
Corresponde a pelo menos n do caractere anterior{n,m}
Corresponde entre n e m do caractere anterior[abc]
Corresponde a qualquer um dos caracteres entre os colchetes[^abc]
Corresponde a qualquer caractere que não está entre os colchetes(abc)
Agrupa múltiplos tokens e captura a correspondênciaa|b
Corresponde a a ou b\b
Corresponde a uma posição de limite de palavraUm testador de padrões de Expressão Regular (regex) é uma ferramenta essencial para desenvolvedores, analistas de dados e qualquer pessoa que trabalhe com processamento de texto. Este validador abrangente de padrões regex permite que você crie, teste e refine expressões regulares em tempo real, fornecendo feedback visual imediato sobre as correspondências de padrões. Seja validando endereços de e-mail, analisando arquivos de log ou extraindo dados específicos de texto, nosso testador de regex torna o processo de desenvolvimento e depuração mais rápido e intuitivo.
As expressões regulares são sequências poderosas de correspondência de padrões que permitem buscas, validações e manipulações de texto sofisticadas. No entanto, sua sintaxe pode ser complexa e desafiadora de dominar. Este testador de padrões regex simplifica o processo ao destacar correspondências enquanto você digita, validar a sintaxe do padrão e permitir que você salve padrões frequentemente usados para referência futura.
Usar nosso validador de padrões regex é simples e intuitivo. Siga estas etapas para começar:
Digite um Padrão de Expressão Regular: Digite seu padrão regex no campo de entrada designado. A ferramenta valida seu padrão em tempo real, alertando você sobre quaisquer erros de sintaxe.
Selecione as Flags de Regex: Escolha as flags apropriadas para seu padrão:
g
(Global): Encontre todas as correspondências em vez de parar após a primeira correspondênciai
(Ignorar Maiúsculas): Torne o padrão insensível a maiúsculasm
(Multilinha): Faça com que ^
e $
correspondam ao início/fim de cada linhaDigite o Texto de Teste: Insira o texto que você deseja testar contra seu padrão na área de texto de teste.
Veja os Resultados em Tempo Real: À medida que você digita, a ferramenta automaticamente:
Salve Padrões Úteis: Para padrões que você usa com frequência:
Copie os Resultados: Use o botão "Copiar Correspondências" para copiar todo o texto correspondente para sua área de transferência para uso em outros aplicativos.
A interface é dividida em dois painéis principais: o painel de entrada onde você insere seu padrão e texto de teste, e o painel de resultados que exibe correspondências e informações sobre o padrão.
As expressões regulares usam caracteres e sequências especiais para definir padrões de busca. Aqui está um guia para os símbolos regex fundamentais suportados pela nossa ferramenta:
Símbolo | Descrição | Exemplo | Correspondências |
---|---|---|---|
. | Corresponde a qualquer caractere, exceto nova linha | a.c | "abc", "adc", "a1c", etc. |
\d | Corresponde a qualquer dígito (0-9) | \d{3} | "123", "456", "789", etc. |
\D | Corresponde a qualquer não-dígito | \D+ | "abc", "xyz", etc. |
\w | Corresponde a qualquer caractere de palavra (a-z, A-Z, 0-9, _) | \w+ | "abc123", "teste_123", etc. |
\W | Corresponde a qualquer caractere não-palavra | \W+ | "!@#", " + ", etc. |
\s | Corresponde a qualquer caractere de espaço em branco | a\sb | "a b", "a\tb", etc. |
\S | Corresponde a qualquer caractere não-espaço em branco | \S+ | "abc", "123", etc. |
Símbolo | Descrição | Exemplo | Correspondências |
---|---|---|---|
^ | Corresponde ao início da linha | ^abc | "abc" no início de uma linha |
$ | Corresponde ao final da linha | abc$ | "abc" no final de uma linha |
\b | Corresponde a uma borda de palavra | \bword\b | "word" como uma palavra completa |
Símbolo | Descrição | Exemplo | Correspondências |
---|---|---|---|
* | Corresponde a 0 ou mais do caractere anterior | a*b | "b", "ab", "aab", etc. |
+ | Corresponde a 1 ou mais do caractere anterior | a+b | "ab", "aab", "aaab", etc. |
? | Corresponde a 0 ou 1 do caractere anterior | colou?r | "color", "colour" |
{n} | Corresponde exatamente n do caractere anterior | a{3} | "aaa" |
{n,} | Corresponde a pelo menos n do caractere anterior | a{2,} | "aa", "aaa", "aaaa", etc. |
{n,m} | Corresponde entre n e m do caractere anterior | a{2,4} | "aa", "aaa", "aaaa" |
Símbolo | Descrição | Exemplo | Correspondências |
---|---|---|---|
[abc] | Corresponde a qualquer um dos caracteres entre colchetes | [aeiou] | "a", "e", "i", "o", "u" |
[^abc] | Corresponde a qualquer caractere que não esteja entre colchetes | [^aeiou] | Qualquer caractere exceto "a", "e", "i", "o", "u" |
[a-z] | Corresponde a qualquer caractere no intervalo | [a-z] | Qualquer letra minúscula |
Símbolo | Descrição | Exemplo | Correspondências |
---|---|---|---|
(abc) | Agrupa múltiplos tokens e captura a correspondência | (abc)+ | "abc", "abcabc", etc. |
a|b | Corresponde a a ou b | cat|dog | "cat", "dog" |
Uma vez que você tenha dominado o básico, pode criar padrões mais sofisticados para resolver desafios complexos de processamento de texto:
1^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
2
Este padrão valida endereços de e-mail, garantindo que sigam o formato padrão: nomedeusuario@dominio.tld.
1^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$
2
Este padrão valida URLs, incluindo aquelas com ou sem o protocolo http/https.
1^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$
2
Este padrão corresponde a números de telefone dos EUA em vários formatos: (123) 456-7890, 123-456-7890 ou 1234567890.
1^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$
2
Este padrão valida datas no formato AAAA-MM-DD, com validação básica para intervalos de mês e dia.
Asserções lookahead e lookbehind permitem que você corresponda a padrões apenas se forem seguidos ou precedidos por outro padrão:
a(?=b)
corresponde a "a" apenas se for seguido por "b"a(?!b)
corresponde a "a" apenas se não for seguido por "b"(?<=a)b
corresponde a "b" apenas se for precedido por "a"(?<!a)b
corresponde a "b" apenas se não for precedido por "a"Nosso testador regex suporta várias flags que modificam como os padrões são correspondidos:
^
e $
correspondam ao início/fim de cada linhaAs expressões regulares têm inúmeras aplicações práticas em diferentes campos:
Validação de Formulários: Garanta que as entradas do usuário correspondam aos formatos exigidos:
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$
^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$
Análise de HTML: Extraia elementos ou atributos específicos:
<img[^>]+src="([^">]+)"
<a[^>]+href="([^">]+)"
Análise de Arquivos de Log: Extraia informações de entradas de log:
\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b
\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}
ERROR: .*
Análise de CSV: Processem valores separados por vírgula com campos potencialmente entre aspas:
(?:^|,)(?:"([^"]*(?:""[^"]*)*)"|([^,]*))
Encontrar e Substituir: Identifique padrões para substituição:
<[^>]*>
(\d{3})(\d{3})(\d{4})
→ ($1) $2-$3
Extração de Conteúdo: Extraia informações específicas de texto não estruturado:
\b(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+\d{1,2},\s+\d{4}\b
\$\d+(?:\.\d{2})?
Realce de Sintaxe: Identifique construções de linguagem:
\b(?:var|let|const)\s+([a-zA-Z_$][\w$]*)\b
function\s+([a-zA-Z_$][\w$]*)\s*\(
Refatoração de Código: Encontre padrões que precisam ser atualizados:
\.oldMethod\(
eval\(
Nosso testador de padrões regex inclui um sistema de gerenciamento de padrões que permite que você salve e reutilize suas expressões frequentemente usadas:
Considere salvar padrões que:
Ao salvar padrões, use rótulos descritivos que:
Organize seus padrões salvos por:
Embora nossa ferramenta não suporte diretamente o compartilhamento de padrões entre usuários, você pode:
Mesmo desenvolvedores experientes encontram desafios com expressões regulares. Aqui estão soluções para problemas comuns:
Se seu padrão mostrar um erro de validação:
Se seu regex estiver lento ou causar atraso no navegador:
(a+)+
)Se seu padrão corresponder a texto indesejado:
^
e $
) para corresponder a strings inteiras\b
) onde apropriadoSe seu padrão não estiver correspondendo ao texto esperado:
i
)Embora regex seja poderoso, nem sempre é a melhor solução para cada tarefa de processamento de texto:
Para operações de texto simples, os métodos de string nativos são frequentemente mais claros e eficientes:
String.indexOf()
para encontrar substringsString.startsWith()
e String.endsWith()
para verificar limites de stringString.split()
para tokenização básicaPara formatos de dados estruturados, parsers dedicados são mais robustos:
Para entender o significado do texto em vez de apenas padrões:
Considere alternativas ao regex quando:
Uma expressão regular (regex) é uma sequência de caracteres que define um padrão de busca. Esses padrões podem ser usados para buscas, correspondências e operações de manipulação de texto.
Um testador de padrões regex ajuda você a desenvolver e depurar expressões regulares, fornecendo feedback visual imediato sobre correspondências, validando a sintaxe do padrão e permitindo que você experimente diferentes padrões e flags sem precisar implementá-los primeiro no código.
Para corresponder a caracteres especiais literais que normalmente têm significado especial em regex, você precisa escapá-los com uma barra invertida. Por exemplo, para corresponder a um ponto literal, use \.
em vez de apenas .
.
.*
e .*?
em um padrão regex?O .*
é um quantificador ganancioso que corresponde ao maior número possível de caracteres, enquanto .*?
é um quantificador preguiçoso (não ganancioso) que corresponde ao menor número possível de caracteres. Essa distinção é importante quando você deseja encontrar a correspondência mais curta em vez da mais longa.
Embora a sintaxe básica de regex seja semelhante em muitas linguagens, há sutis diferenças na implementação. Nosso testador usa o mecanismo de regex do JavaScript, que é compatível com muitas linguagens da web, mas pode ter diferenças em relação ao regex em linguagens como Python, Java ou Perl.
Para validar que uma string inteira corresponde a um padrão, use a âncora ^
no início e a âncora $
no final do seu regex. Por exemplo, ^[0-9]+$
corresponderá apenas a strings que consistem inteiramente de dígitos.
Grupos de captura, criados com parênteses ()
, permitem que você extraia porções específicas do texto correspondente. Em nosso testador, você pode ver todas as correspondências, incluindo grupos capturados. Em linguagens de programação, você pode acessar essas capturas normalmente indexando o resultado da correspondência.
Para melhorar a eficiência do regex: seja específico com classes de caracteres, evite grupos de captura desnecessários (use grupos não capturantes (?:...)
quando possível), limite o uso de lookaheads/lookbehinds, e evite padrões de retrocesso catastrófico, como quantificadores aninhados.
Erros comuns incluem: não escapar caracteres especiais, criar padrões que são muito gananciosos, esquecer de ancorar padrões (com ^
e $
), e escrever expressões excessivamente complexas que são difíceis de manter.
As expressões regulares não são bem adequadas para analisar estruturas aninhadas como HTML ou XML. Embora você possa criar padrões regex para correspondência simples de HTML, geralmente é melhor usar um parser HTML dedicado para processamento complexo de HTML.
Experimente nosso testador de padrões regex hoje para simplificar suas tarefas de processamento de texto, validar formatos de entrada e extrair dados significativos de texto não estruturado. Seja você um iniciante aprendendo o básico das expressões regulares ou um desenvolvedor experiente trabalhando em correspondência de padrões complexos, nossa ferramenta fornece os recursos que você precisa para criar, testar e refinar seus padrões regex de forma eficiente.
Descubra mais ferramentas que podem ser úteis para o seu fluxo de trabalho