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
- Descreve por palavras o que queres encontrar ou validar.
- Dá vários exemplos reais que devam corresponder e outros que não.
- 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
| Fragmento | Significado |
|---|---|
^ … $ | Â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.