Aqui não existe solução pronta na tela. Use os exemplos como contrato, teste no Playground e compare seus falsos positivos e negativos.
📁
01. Arquivos de imagem
Aceite .jpg, .jpeg, .png e .webp sem diferenciar maiúsculas/minúsculas.
Deve passarfoto.JPG, banner.webpDeve falhardocumento.pdf, imagem.jpg.exe
Mostrar uma pista
Comece escrevendo a estrutura mínima, fixe início/fim quando necessário e adicione restrições uma por vez. Rode os casos que devem falhar após cada mudança.
🔐
02. Senha estrutural
8 a 16 caracteres contendo pelo menos uma letra e um dígito; underscore permitido.
Deve passardev_2026, Arena123Deve falhar12345678, apenasletras
Mostrar uma pista
Comece escrevendo a estrutura mínima, fixe início/fim quando necessário e adicione restrições uma por vez. Rode os casos que devem falhar após cada mudança.
🛰️
03. IPv4 realista
Evolua de quatro blocos numéricos para uma expressão que restrinja cada octeto a 0–255.
Deve passar192.168.0.1, 8.8.8.8Deve falhar999.1.1.1, 256.0.0.1
Mostrar uma pista
Comece escrevendo a estrutura mínima, fixe início/fim quando necessário e adicione restrições uma por vez. Rode os casos que devem falhar após cada mudança.
🧾
04. Código de pedido
Formato PED-AAAA-NNNNN, por exemplo PED-2026-00421.
Deve passarPED-2026-00421Deve falharPED26-421, XPED-2026-00421
Mostrar uma pista
Comece escrevendo a estrutura mínima, fixe início/fim quando necessário e adicione restrições uma por vez. Rode os casos que devem falhar após cada mudança.
📦
05. SKU com categorias
Aceite DEV, UX ou OPS, seguidos por hífen e seis dígitos.
Deve passarDEV-000123, UX-991122Deve falharMKT-000123, DEV-123
Mostrar uma pista
Comece escrevendo a estrutura mínima, fixe início/fim quando necessário e adicione restrições uma por vez. Rode os casos que devem falhar após cada mudança.
✉️
06. E-mail com grupos
Separe usuário, domínio e TLD em grupos nomeados para aparecerem no Raio-X.
Deve passarmarcello@regexarena.comDeve falhar@regexarena.com, marcello@site
Mostrar uma pista
Comece escrevendo a estrutura mínima, fixe início/fim quando necessário e adicione restrições uma por vez. Rode os casos que devem falhar após cada mudança.
🧪
07. Versão semântica simples
Reconheça versões no formato vMAJOR.MINOR.PATCH.
Deve passarv1.0.0, v12.4.18Deve falhar1.0.0, v1.0
Mostrar uma pista
Comece escrevendo a estrutura mínima, fixe início/fim quando necessário e adicione restrições uma por vez. Rode os casos que devem falhar após cada mudança.
💰
08. Valor contextual
Capture o número apenas quando vier depois de R$ e antes de " reais".
Deve passarR$ 150 reaisDeve falharUSD 150 reais, R$ 150 dólares
Mostrar uma pista
Comece escrevendo a estrutura mínima, fixe início/fim quando necessário e adicione restrições uma por vez. Rode os casos que devem falhar após cada mudança.
🧯
09. Logs críticos
Capture o requestId apenas em linhas ERROR e ignore INFO/WARN.
Deve passarERROR requestId=ab-123 FalhaDeve falharINFO requestId=ab-123 OK
Mostrar uma pista
Comece escrevendo a estrutura mínima, fixe início/fim quando necessário e adicione restrições uma por vez. Rode os casos que devem falhar após cada mudança.
🏁
10. Boss: contexto e captura
Capture um código ABC-0000 apenas entre ID: e ;OK, usando grupo nomeado e lookarounds.
Deve passarID:DEV-2026;OKDeve falharID:DEV-2026;FAIL, DEV-2026;OK
Mostrar uma pista
Comece escrevendo a estrutura mínima, fixe início/fim quando necessário e adicione restrições uma por vez. Rode os casos que devem falhar após cada mudança.