🧰 ToolPicoTodas as ferramentas →

Testador de Regex

Testa a tua expressão regular em direto: destaque de correspondências, grupos de captura, pré-visualização de procurar e substituir, explicação do padrão passo a passo e gerador de código para quatro linguagens — além de modelos prontos para números de telefone, emails, códigos postais e muito mais.

🔒 100% no teu navegador 7 modelos prontos Grupos + grupos com nome Atualizado: 26 jul. 2026
Não há problema se rodeares o teu padrão com /…/ — as barras são removidas automaticamente. Só é necessário o padrão em si.
As correspondências são destacadas em direto (violeta/rosa). Se o padrão não for válido, aparece uma caixa de erro acima.

Copia cada correspondência — ou um único grupo de captura — como texto simples: uma por linha, separada por vírgulas, ou com um separador personalizado. Transfere o resultado completo, incluindo as posições e os grupos, em formato CSV. Ideal para extrair todos os emails, números de telefone ou datas de um bloco de texto.

Referencia os grupos de captura com $1, $2… ou os grupos com nome com $<nome>. Se a flag «g» estiver desativada, só a primeira correspondência é substituída.
Diagrama visual do padrão — cada bloco é um segmento do teu regex (literal, classe de caracteres, grupo, quantificador ou âncora):
Decomposição do teu padrão peça por peça
ElementoSignificado
Para uma referência geral de cada símbolo, consulta a secção Tabelas de referência mais abaixo.

        
      

Valida o teu padrão com exemplos reais: cada linha é um teste. As linhas em «Deve corresponder» devem corresponder ao padrão; as linhas em «NÃO deve corresponder» não devem corresponder-lhe. Ideal para reforçar um padrão de validação (como um número de telefone ou um email) face a vários exemplos ao mesmo tempo. Dica: usa as âncoras ^ e $ no teu padrão para uma validação de linha completa.

Só o padrão e as flags são acrescentados à ligação partilhável; o teu texto de teste (que pode conter dados pessoais) nunca é incluído.
Resposta rápida Um testador de regex executa o padrão que escreves sobre o texto que fornece e destaca instantaneamente o que corresponde. Esta ferramenta destaca as correspondências em direto, lista os grupos de captura e os grupos com nome, pré-visualiza a procura-substituição, explica o padrão peça por peça e gera código equivalente para JavaScript, Python, PHP e Java — tudo no teu navegador, sem enviar nada para um servidor.
7Modelos prontos
5Flags (g,i,m,s,u)
4Linguagens de código
100%Do lado do cliente
⚙️ Nota sobre precisão e motor: esta ferramenta usa o motor regex ECMAScript (JavaScript) integrado no navegador. PCRE (PHP), o módulo re do Python e o motor regex do Java partilham a maior parte da sintaxe, mas podem diferir ligeiramente em funcionalidades avançadas (como os grupos atómicos ou os quantificadores possessivos) — testa separadamente o código gerado no separador «Gerar código» na tua linguagem de destino. Os modelos de cartão bancário e IBAN só verificam o formato; não validam somas de verificação.

O que é um regex, e como se testa?

Um guia completo — sintaxe, grupos de captura, procurar e substituir, e flags — explicado e apresentado de forma citável.

Uma expressão regular (regex, para abreviar) é uma sintaxe especial usada para descrever um padrão dentro de um texto. Por exemplo, \d{4} significa «quatro dígitos seguidos», e [A-Z][a-z]+ significa «uma palavra que começa com maiúscula». O regex é usado para a validação de formulários (números de telefone, endereços de email, formatos de cartão bancário), a análise de ficheiros de registo, a procura-substituição e a extração de dados — e quase todas as linguagens de programação, incluindo JavaScript, Python, PHP e Java, suportam uma sintaxe muito semelhante.

Porque é importante testar um padrão regex?

Resposta rápidaA sintaxe regex é densa e fácil de escrever mal — esquecer de escapar um carácter (usar . em vez de \., por exemplo) pode provocar correspondências inesperadas. Testar o teu padrão em direto com dados de exemplo reais, e confirmar visualmente que partes correspondem realmente, é a forma mais fiável de detetar erros antes de um padrão defeituoso chegar à produção.

O que é um grupo de captura?

Resposta rápidaUma secção entre parênteses, como (abc), forma um «grupo de captura» e faz com que essa parte da correspondência fique disponível separadamente. (?:abc) é um grupo sem captura — agrupa sem ser numerado. (?<nome>abc) atribui um nome a um grupo (um grupo com nome); o resultado pode então ser acedido por número ou por nome.
  • Grupo numerado(\d{2})-(\d{2}): em «12-34», o grupo 1 = «12», o grupo 2 = «34».
  • Grupo com nome(?<ano>\d{4}): acessível no resultado através de groups.ano.
  • Grupo sem captura(?:abc)+: agrupa a repetição de «abc» sem o numerar.

Como funciona a procura e substituição?

Resposta rápidaNuma operação de procurar-substituir, as partes que correspondem ao regex são substituídas por outra cadeia; os grupos de captura são referenciados com $1, $2… ou, para grupos com nome, com $<nome>. Por exemplo, aplicando (\d{4})-(\d{2})-(\d{2}) com a substituição $2/$3/$1, «2026-07-26» torna-se «07/26/2026». Se a flag «g» não estiver ativada, só a primeira correspondência é substituída — experimenta em direto no separador «Substituir» acima.

Para que servem as flags regex?

Resposta rápidag encontra cada correspondência (sem ela, só a primeira); i desativa a sensibilidade a maiúsculas e minúsculas; m faz com que as âncoras ^/$ correspondam ao início/fim de cada linha, e não só da cadeia completa; s (dotall) permite que . também corresponda a saltos de linha; e u interpreta o padrão segundo os pontos de código Unicode. As flags são acrescentadas como uma opção à parte, não se integram no padrão em si.

Símbolos regex comuns (resumo rápido)

Referência rápida — consulta a secção Referência completa mais abaixo para ver tudo
SímboloSignificadoExemplo
\dDígito (0-9)\d{4} → «2026»
\wCarácter de palavra (letra/dígito/_)\w+ → «hello_123»
\sEspaço em branco (espaço/tabulação/salto de linha)\s+ → « » (espaço)
^ $Início e fim de texto/linha^abc$ → exatamente «abc»
* + ? {n,m}Quantificadores (repetição)a{2,4} → «aa».. «aaaa»
(...) (?:...) (?<nome>...)Grupo de captura / sem captura / com nome(\d+)-(\d+)

Tabelas de referência regex e folha de referência

Classes de caracteres, quantificadores, grupos e flags, e formatos comuns prontos a usar — uma referência completa e citável.

Classes de caracteres e atalhos
SímboloSignificado
.Qualquer carácter exceto salto de linha (com a flag «s», incluído o salto de linha)
\d / \DCarácter dígito / não-dígito
\w / \WCarácter de palavra (letra/dígito/_) / carácter não-palavra
\s / \SCarácter de espaço em branco / carácter que não é espaço em branco
[abc]Um de entre a, b ou c
[^abc]Qualquer carácter EXCETO a, b, c
[a-z0-9]Letra minúscula a-z OU dígito 0-9
\b / \BLimite de palavra / posição fora de limite de palavra
Quantificadores (repetição)
SímboloSignificado
*0 repetições ou mais (ganancioso)
+1 repetição ou mais (ganancioso)
?0 ou 1 repetição (opcional)
{n}Exatamente n repetições
{n,}Pelo menos n repetições
{n,m}Entre n e m repetições
*? +? ?? {n,m}?Versão preguiçosa — tenta corresponder ao MENOR número de repetições possível

O modo ganancioso é o comportamento por defeito: tenta corresponder à cadeia mais longa possível. Acrescentar ? no final torna-o preguiçoso (então tenta a correspondência mais curta).

Grupos, lookarounds e flags
SímboloSignificado
(abc)Grupo de captura
(?:abc)Grupo sem captura
(?<nome>abc)Grupo de captura com nome
(?=abc)Lookahead positivo
(?!abc)Lookahead negativo
(?<=abc)Lookbehind positivo
(?<!abc)Lookbehind negativo
a|ba OU b (alternância)
g i m s uFlags: global, insensível a maiúsculas, multilinha, dotall, unicode
Padrões de formatos comuns prontos a usar (apenas verificação de formato)
FormatoRegex
Número de telefone (US)^(?:\+1|1)?\s?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$
Endereço de email^[\w.+-]+@[\w-]+\.[a-zA-Z]{2,}$
Código postal (US)^\d{5}(-\d{4})?$
IBAN (internacional)^[A-Z]{2}\d{2}[A-Z0-9]{10,30}$
Número de cartão bancário^\d{4}[\s-]?\d{4}[\s-]?\d{4}[\s-]?\d{4}$
Cor hexadecimal^#(?:[A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
Palavra-passe segura^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^\da-zA-Z]).{8,}$

Estes padrões só verificam o formato (comprimento e conjunto de caracteres) — não validam somas de verificação (por exemplo, o algoritmo de Luhn para números de cartão) nem confirmam que um número está realmente emitido ou ativo.

Adiciona este testador de regex ao teu site (código de incorporação)

Integra gratuitamente o testador de regex no teu próprio site. Copia o código abaixo para o teu HTML — a ferramenta é mostrada numa vista simplificada e liga a esta página como fonte.

A ferramenta incorporada tem um design fixo; ajusta o valor de height conforme o teu site. Sem publicidade nem dados pessoais — tudo funciona do lado do cliente.

Glossário de termos regex

Definições breves dos conceitos essenciais das expressões regulares.

PadrãoO próprio texto regex que define o que deve corresponder.
FlagUma letra adicional que modifica o comportamento do padrão: g, i, m, s, u, por exemplo.
Grupo de capturaUma parte do padrão entre parênteses (...) cujo texto correspondente fica acessível separadamente.
Grupo com nomeUm grupo de captura ao qual é dado um nome com (?<nome>...); acessível por esse nome no resultado.
Ganancioso / PreguiçosoUm quantificador ganancioso tenta corresponder ao máximo possível; um preguiçoso (com um ? final) tenta corresponder ao mínimo possível.
Referência inversaReferência a um grupo de captura anterior dentro do padrão, através de \1, \2, etc.
Âncora^ e $ — marcam o início e o fim do texto/linha sem consumir caracteres.
Lookahead / LookbehindVerifica que um padrão existe antes ou depois de uma posição, sem o incluir na correspondência.
MetacaracterUm carácter com um significado especial em regex: . * + ? ^ $ ( ) [ ] { } | \.
EscapeColocar uma \ antes de um metacaracter para fazer com que corresponda literalmente, ex. \..
SubstituiçãoSubstituir o texto correspondente por outra cadeia, referenciando os grupos com $1, etc.
Correspondência global (g)Encontrar cada correspondência no texto, não só a primeira.

Guias detalhados

Respostas detalhadas às perguntas de regex mais frequentes.

Como se valida o formato de um número de cartão bancário com um regex, e porque é que isso não basta?

O padrão ^\d{4}[\s-]?\d{4}[\s-]?\d{4}[\s-]?\d{4}$ verifica o formato de um número de cartão: quatro grupos de quatro dígitos, com um espaço ou hífen opcional entre eles. Mas um número de cartão realmente válido também deve passar o algoritmo de Luhn — um cálculo de soma de verificação que se realiza duplicando um em cada dois dígitos (começando pela direita), somando os dígitos dos resultados, e verificando que o total é divisível por 10. Este cálculo é aritmético, não reconhecimento de padrões, por isso um regex sozinho não o consegue realizar.

Por isso a validação de formulários em produção costuma usar uma abordagem em dois passos: primeiro um filtro regex rápido para o formato, e depois uma verificação de Luhn (ou a própria validação de um fornecedor de pagamentos) para o número em si. O mesmo princípio aplica-se a outros identificadores baseados em somas de verificação, como os ISBN e certos formatos de números de identidade nacionais — o regex confirma a forma; um algoritmo à parte confirma que o número é real.

Como é que o regex de um número de telefone dos EUA lida com estilos de formato diferentes?

Em ^(?:\+1|1)?\s?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$, (?:\+1|1)? torna opcional o prefixo de país, \(?...\)? torna opcionais os parênteses à volta do indicativo local, e cada [\s.-]? torna opcional um espaço, um ponto ou um hífen entre grupos de dígitos. Assim, «(555) 123-4567», «555.123.4567», «+1 555 123 4567» e «5551234567» correspondem todos ao mesmo padrão único.

Tem em conta que este padrão se destina aos números norte-americanos típicos de 10 dígitos; não validará números internacionais noutros formatos, e não verifica que um indicativo local exista realmente. Clica no modelo «Número de telefone (US)» acima para o testar em direto.

Quantificadores gananciosos versus preguiçosos — qual é a diferença?

Por defeito, os quantificadores como *, + e {n,m} são gananciosos: tentam corresponder ao maior número de caracteres possível. Por exemplo, o padrão <.+> aplicado a «<b>texto</b>» faz corresponder TUDO, desde o primeiro < até ao último >, numa única correspondência — geralmente não o que se pretende.

Acrescentar um ? depois do quantificador (<.+?>) torna-o preguiçoso, de modo que tenta corresponder ao MENOR número de caracteres possível: no mesmo texto, encontra duas correspondências distintas, «<b>» e depois «</b>». Ao trabalhar com delimitadores aninhados como as etiquetas HTML/XML, um quantificador preguiçoso costuma dar o resultado esperado.

Perguntas frequentes

Como se testa um padrão regex?
Escreve o teu padrão regex numa ferramenta de teste e introduz o texto que queres verificar para ver as correspondências em direto. Nesta ferramenta, depois de introduzires o teu padrão e as tuas flags (g, i, m, s, u), as partes do texto que correspondem são destacadas automaticamente a cores; os grupos de captura, a informação de posição e os grupos com nome são mostrados numa tabela à parte. Podes ajustar o teu padrão através de testes rápidos.
O que é uma expressão regular (regex)?
Uma expressão regular (regex) é uma sintaxe especial usada para definir um padrão preciso dentro de um texto. Por exemplo, o padrão \d{11} significa «11 dígitos seguidos». O regex é amplamente usado para a validação de formulários (email, número de telefone, formato de cartão bancário), a procura-substituição de texto, a análise de registos e a extração de dados, e é suportado com uma sintaxe muito semelhante em quase todas as linguagens de programação (JavaScript, Python, PHP, Java).
Como se escreve um regex para um número de telefone dos EUA?
O padrão ^(?:\+1|1)?\s?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$ corresponde a um número de telefone norte-americano de 10 dígitos, com um prefixo +1/1 opcional, parênteses opcionais à volta do indicativo local, e espaços, pontos ou hífens opcionais entre os grupos. Isto significa que «(555) 123-4567», «555.123.4567» e «+1 555 123 4567» podem corresponder todos ao mesmo padrão. Este padrão só verifica o formato habitual — não confirma que um indicativo local esteja realmente atribuído.
Qual é um exemplo de regex para um email?
Um padrão prático de validação de email é ^[\w.+-]+@[\w-]+\.[a-zA-Z]{2,}$: procura letras, dígitos, sublinhado, ponto, mais ou hífen no nome de utilizador, um sinal @, um nome de domínio e uma extensão de pelo menos duas letras. Um regex de email totalmente conforme com a RFC 5322 é muito mais complexo; na prática, este padrão simplificado basta para a maioria das validações de formulário.
Como se valida o formato de um número de cartão bancário com um regex — e isso é suficiente?
O padrão ^\d{4}[\s-]?\d{4}[\s-]?\d{4}[\s-]?\d{4}$ verifica que um número de cartão é composto por quatro grupos de quatro dígitos, separados opcionalmente por espaços ou hífens. Isto é apenas uma verificação de formato — um número de cartão realmente válido também deve passar o algoritmo de Luhn, um cálculo aritmético dígito a dígito que um regex sozinho não consegue realizar. Na prática, usa uma abordagem em dois passos: um filtro de formato regex rápido, seguido de uma verificação de Luhn no código da tua aplicação.
É seguro usar um testador de regex online?
Nesta ferramenta, o teu padrão regex e o teu texto de teste são processados inteiramente no teu navegador (JavaScript do lado do cliente); nada é enviado para um servidor, guardado nem registado. Quando crias uma ligação partilhável, só o padrão e as flags são acrescentados ao URL — o teu texto de teste, que pode conter dados pessoais, nunca é incluído na ligação.
O que é um grupo de captura em regex?
Uma secção entre parênteses, como (abc), forma um «grupo de captura» e faz com que o texto que corresponde a essa secção fique disponível separadamente; por exemplo, o padrão (\d{2})-(\d{2}) aplicado a «12-34» captura o grupo 1 = «12» e o grupo 2 = «34». Os grupos podem ser nomeados com a sintaxe (?<nome>...) (um grupo com nome); (?:...) agrupa sem capturar de todo.
Como funciona a procura-substituição em regex?
Numa operação de procurar-substituir, o texto que corresponde ao regex é substituído por outra cadeia; os grupos de captura são referenciados com $1, $2… ou, para grupos com nome, com $<nome>. Por exemplo, aplicando o padrão (\d{4})-(\d{2})-(\d{2}) com a substituição $2/$3/$1, «2026-07-26» torna-se «07/26/2026». Se a flag «g» não estiver marcada, só a primeira correspondência é substituída.
Como se extraem todos os emails ou números de telefone de um bloco de texto com um regex?
Escreve o teu padrão (por exemplo, [\w.+-]+@[\w-]+\.[a-zA-Z]{2,} para um email), ativa a flag «g», e cola o teu texto; depois, no separador «Extrair / Listar», cada correspondência é mostrada em texto simples — uma por linha, separada por vírgulas, ou com um separador personalizado. Usa «remover duplicados» para eliminar repetições, copia a lista com um clique, ou transfere-a em .txt, ou em .csv com os detalhes de posição e grupo incluídos. Dica: não uses as âncoras ^ e $ se quiseres procurar dentro de uma linha em vez de corresponder à linha completa.
Como testo o meu padrão regex com vários exemplos (testes unitários)?
Usa o separador «Testes»: introduz exemplos que devem corresponder ao teu padrão no campo «Deve corresponder», e exemplos que NÃO devem corresponder no campo «NÃO deve corresponder», um por linha. A ferramenta executa cada linha contra o teu padrão, compara-a com a tua expectativa, e marca cada uma a verde (correto) ou a vermelho (falhado), com um resumo «X/Y testes aprovados» acima. Ideal para reforçar padrões de validação como números de telefone ou emails face a vários exemplos reais. Usa as âncoras ^ e $ para uma validação de linha completa.
De onde vêm os modelos integrados, e com que frequência são atualizados?
Os modelos prontos a usar (telefone US, email, código postal, IBAN, cartão bancário, cor hexadecimal, palavra-passe segura) baseiam-se em convenções de formato amplamente reconhecidas e, sendo regras estruturais duradouras, não requerem atualizações frequentes. O motor de correspondência é o motor regex ECMAScript integrado no teu navegador. Última atualização: 26 de julho de 2026.

Metodologia e fontes

O testador de regex da ToolPico é uma ferramenta independente e gratuita. O motor de correspondência usa diretamente a implementação RegExp ECMAScript (JavaScript) integrada no navegador — não é necessário processamento do lado do servidor nem uma API de terceiros. Os modelos prontos a usar (telefone, email, código postal, IBAN, cartão bancário, cor hexadecimal, palavra-passe segura) são construídos a partir de convenções de formato amplamente reconhecidas.

Fontes: referência de sintaxe de expressões regulares ECMA-262 (JavaScript) · ISO 13616 (estrutura IBAN) · convenções de formato geralmente aceites para números de telefone e códigos postais norte-americanos · o algoritmo de Luhn (ISO/IEC 7812-1) para somas de verificação de números de cartão. Última atualização: 26 de julho de 2026. Os resultados são disponibilizados para fins informativos e de desenvolvimento; combina-os com uma validação algorítmica (soma de verificação) para verificações críticas de dados.

🔗 Adiciona esta ferramenta ao teu site

Copia o código abaixo para o teu próprio site. A ferramenta é grátis, está sempre atualizada, e funciona inteiramente na tua página. Não requer registo.

Pré-visualizar →
⚡ Criado com a ToolPico · toolpico.com