Criar uma expressão regular explicada passo a passo e com testes

Obtém uma regex para a tua linguagem com a explicação de cada parte, uma tabela de casos que devem e não devem corresponder, código pronto a usar e um aviso sobre riscos de backtracking. Pensado para ChatGPT, Claude, Gemini e Microsoft Copilot. Inclui 5 variáveis personalizáveis e pode copiá-lo gratuitamente com um clique.

Iniciante · Código · Pendente de revisão editorial

Prompt

Atua como programador especialista em expressões regulares que as explica com clareza a quem está a aprender.

Preciso de uma expressão regular para: {{objetivo}}
- Linguagem ou motor: {{linguagem}}
- Utilização: {{utilizacao}}
- Exemplos que TÊM de corresponder: {{validos}}
- Exemplos que NÃO podem corresponder: {{invalidos}}

Entregáveis:
1. A expressão regular final, compatível com o motor indicado, com as flags necessárias.
2. Explicação peça a peça numa tabela: fragmento, significado e porque está lá. Inclui âncoras, grupos (com nome se o motor os suportar), quantificadores e classes de caracteres.
3. Uma versão legível e comentada (modo estendido ou `x` se o motor o permitir, ou construída por partes se não).
4. Uma tabela de testes com todos os meus exemplos e pelo menos cinco casos limite acrescentados por ti (texto vazio, espaços, maiúsculas, caracteres acentuados, comprimento extremo), com o resultado esperado.
5. Código na minha linguagem que use a regex para a utilização indicada (validar, procurar, extrair ou substituir) e corra a tabela de testes.
6. Riscos: falsos positivos e negativos prováveis, problemas com Unicode e risco de backtracking catastrófico (ReDoS) se a regex processar texto introduzido pelos utilizadores.
7. Quando uma regex não é a ferramenta certa para este caso e o que usar em alternativa (por exemplo um parser ou uma biblioteca de validação).

Restrições:
- Se os meus exemplos forem contraditórios ou insuficientes, diz-mo e pergunta-me antes de dar a versão final.
- Prefere uma regex clara e correta a uma muito curta e difícil de manter.
- Não afirmes que a regex valida algo a 100 % (por exemplo um email) se a norma for mais complexa.

Como utilizar

  1. Descreve por palavras o que queres encontrar ou validar.
  2. Dá vários exemplos reais que devam corresponder e outros que não.
  3. Corre o código de testes que recebes e acrescenta os casos que falharem no dia a dia.

Exemplo de utilização

Objetivo: códigos postais portugueses no formato 4 algarismos, hífen e 3 algarismos · Linguagem: JavaScript · Utilização: validar um campo completo · Válidos: 1000-001 · Inválidos: 1000001.

Exemplo de resultado

1. Expressão final

/^\d{4}-\d{3}$/ (sem flags).

2. Explicação

FragmentoSignificado
^ … $Âncoras para o campo inteiro
\d{4}Quatro algarismos (só ASCII em JS sem a flag u)
-Hífen obrigatório
\d{3}Três algarismos

5. Código e tabela de testes

const CODIGO_POSTAL = /^\d{4}-\d{3}$/;

const casos = [
  ['1000-001', true], ['4050-123', true], ['9000-018', true],
  ['1000001', false],   // sem hífen
  ['100-001', false],   // só 3 algarismos antes do hífen
  ['1000-01', false],   // só 2 depois do hífen
  ['ABCD-EFG', false],
  ['', false], [' 1000-001', false], ['1000 001', false], ['1000-0011', false],
];

const eCodigoPostal = (valor) => CODIGO_POSTAL.test(valor);

for (const [valor, esperado] of casos) {
  console.assert(eCodigoPostal(valor) === esperado, `falhou: "${valor}"`);
}

Guarda sempre o código postal como texto. Não há quantificadores aninhados, por isso não existe risco de ReDoS. A regex valida apenas o formato: para saber se o código existe, cruza com a base de códigos postais dos CTT…

Dados-chave

Categoria
Programação e desenvolvimento · Automatizações
Tipo de resultado
Código
Nível
Iniciante
Pensado para
ChatGPT, Claude, Gemini e Microsoft Copilot
Verificado em
Pendente de verificação editorial
Variáveis
O que encontrar ou validar, Linguagem ou motor, Utilização, Exemplos válidos e Exemplos inválidos
Idioma
Português
Preço
Gratuito, sem registo
Atualizado
07/11/2026

Perguntas frequentes

O que é o backtracking catastrófico?

Acontece quando uma regex com quantificadores encaixados experimenta um número enorme de combinações perante certos textos e bloqueia. Se processar dados de utilizadores, pode ser usada para deitar abaixo um servidor (ReDoS).

A mesma regex funciona em todas as linguagens?

Nem sempre. Os motores diferem em grupos com nome, lookbehind, classes Unicode e flags. Por isso o prompt pede a linguagem e adapta a sintaxe.

Para que serve este prompt?

Obtém uma regex para a tua linguagem com a explicação de cada parte, uma tabela de casos que devem e não devem corresponder, código pronto a usar e um aviso sobre riscos de backtracking.

Com que ferramentas de IA funciona?

Foi pensado para ChatGPT, Claude, Gemini e Microsoft Copilot. Ainda não o verificámos nestas ferramentas, pelo que os resultados podem variar entre elas.

Como personalizo o prompt?

Clique em “Personalizar” e preencha as variáveis (O que encontrar ou validar, Linguagem ou motor, Utilização, Exemplos válidos e Exemplos inválidos). O texto atualiza-se instantaneamente e pode depois copiá-lo com um clique. Os valores ficam guardados apenas no seu navegador.

Preciso de experiência para o utilizar?

Não. É um prompt de nível iniciante: basta preencher os dados e colá-lo na sua ferramenta de IA.

Este prompt é gratuito?

Sim. Todos os prompts do HomeCasa Prompts são gratuitos, sem registo nem subscrição. Pode também utilizá-los em projetos profissionais.

Posso confiar no resultado da IA?

Trate-o como um rascunho de qualidade: verifique sempre os dados, os números e as afirmações importantes antes de publicar ou tomar decisões.

Prompts relacionados