Ao criar um telefone com dígitos a mais, por exemplo, '21 99876 333333333' o sistema não aponta erro. É isso mesmo?
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!!!