Ao criar um telefone com dígitos a mais, por exemplo, '21 99876 333333333' o sistema não aponta erro. É isso mesmo?
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!
Ao criar um telefone com dígitos a mais, por exemplo, '21 99876 333333333' o sistema não aponta erro. É isso mesmo?
Faalaaa Rodolpho, tudo bem ?
O máximo de dígitos que o padrão apresentado vai conseguir retornar são 14. Pois, observe o que temos:
padrao = "[0-9]{2,3}[0-9]{2}[0-9]{4,5}[0-9]{4}"
No caso, dará 14 pois ele assumirá o maior quantificador de cada expressão, então: 3+2+5+4.
No exemplo que você nos apresenta, temos 16 dígitos, mas o programa só nos retorna 14. Pegou a ideia?
import re
telefone = "2199876333333333"
padrao = "[0-9]{2,3}[0-9]{2}[0-9]{4,5}[0-9]{4}"
resposta = re.findall(padrao, telefone)
print(resposta)
Saída: ['21998763333333']
Vale ressaltar que esta regex de padrões para telefone que o professor apresenta ainda pode ser muito melhorada, mas o objetivo é nos mostrar o poder das expressões regulares dentro de nosso código, exemplificando assim, uma noção geral sobre elas no mundo de python.
Qualquer dúvida estou a disposição. Espero ter ajudado. Bons estudos!!!