Desafios abertos

10 desafios para testar seu domínio de Regex

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.

Precisa de progressão guiada?

Volte para o jogo. As últimas quatro fases ensinam lookahead e lookbehind antes do Boss final.

Jogar fasesAbrir Playground