Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Regex - Desafio #3

Olá pessoal!

Usei a seguinte regex onde achei que também deveria funcionar :(

^([\w\s]+)\|(?:[1-3]\d\/[0-1]\d\/\d{4})\|([\w\s]+)\|(\d{1,4})\|(\d{5}-\d{3})\|(?:Rio de Janeiro)$

Mas ele está colocando a string inteira e depois repetindo "removendo" os trechos indicados.

Romulo Henrique|14/06/1993|Rua do Lins|120|12345-322|Rio de Janeiro ||| Romulo Henrique ||| Rua do Lins ||| 120 ||| 12345-322

Por gentileza, podem me indicar onde estou errando?

1 resposta
solução!

Oi Ailton!

Rodei sua regex aqui e funcionou corretamente com a seguinte resposta: Insira aqui a descrição dessa imagem para ajudar na acessibilidadeO match da regex

^([\w\s]+)\|(?:[1-3]\d\/[0-1]\d\/\d{4})\|([\w\s]+)\|(\d{1,4})\|(\d{5}-\d{3})\|(?:Rio de Janeiro)$

está em verde e Romulo Henrique, Rua do Lins, 120 e 12345-322 estão "repetidos" em vermelho, pois eles são os grupos desejados declarados na regex (ou seja, estão entre parênteses em o ?).

Reparei que você tentou melhorar a regex do professor adicionando regras para os primeiros dígitos do dia e mês e, apesar do mês dar certo, creio que o do dia tem que ser [0-3] para aceitar datas como 01/01/2021.

Parabéns por ter ido além do desafio! Espero ter ajudado! Qualquer outra dúvida pode postar aqui! :)