Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
1
resposta

Dúvida no Ex. 4 da Aula 7 - Expressão regulares

Ao executar o comando abaixo:

re.findall(r'(\w+\d$)','rota66 88centavos Peer2Peer Python2')

Deveria retornar ['rota66', 'Python2'], porém só retorna 'Python2' o que invalida a resposta do exercício.

1 resposta
solução!

Oi Frederico,

Na verdade o $ significa ao final da expressão completa, e não ao final de cada palavra da expressão.

Por isso ele só retornou o python2.

Para retornar cada palavra da expressão que termina com um ou mais digitos você pode usar a seguinte expressão:

re.findall(r'(\w+\d+\b)','rota66 88centavos Peer2Peer Python2')

O \b ao final da regex serve para considerar a palavra inteira. Sem ele, a regex anterior também retornaria 88 e Peer2.

Bons estudos!