Olá,
No caso se eu tiver um espaço em branco no cep ou em um numero de telofone eu teria que colocar no minha "re.compile"?
ex.
tel = "+55 21 99998-7654"
re.compile("[+]?[0123456789]{2}[]?[0123456789]{2}[]?[0123456789]{5}[-]?[]?[0123456789]{4}")
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!
Olá,
No caso se eu tiver um espaço em branco no cep ou em um numero de telofone eu teria que colocar no minha "re.compile"?
ex.
tel = "+55 21 99998-7654"
re.compile("[+]?[0123456789]{2}[]?[0123456789]{2}[]?[0123456789]{5}[-]?[]?[0123456789]{4}")
Olá Vitor, tudo bem com você?
Será necessário sim informar que a string pode conter espaço vazio, uma das formas que podemos fazer isso é colocarmos um espaço vazio entre os colchetes, o padrão que você criou, basta adicionar os espaços, ficando como abaixo.
padrao = re.compile("[+]?[0123456789]{2}?[ ]?[0123456789]{2}?[ ]?[0123456789]{5}[-]?[0123456789]{4}")Note que foi adicionado um espaço no terceiro e sétimo conjunto de colchetes ([ ]) contando da esquerda para a direita.
Uma segunda forma que podemos informar que a busca com padrões em strings que podem ou não conter um espaço, será fazendo o uso do caractere especial \s, s minúsculo.
padrao = re.compile("[+]?[0123456789]{2}?[\s]?[0123456789]{2}?[\s]?[0123456789]{5}[-]?[0123456789]{4}")Esse segundo método ficará mais explícito que está buscando por um espaço vazio.
Teste do padrão
import re
telefone_um = "+55 21 99998-7654"
telefone_dois = "+552199998-7654"
padrao = re.compile("[+]?[0123456789]{2}?[\s]?[0123456789]{2}?[\s]?[0123456789]{5}[-]?[0123456789]{4}")
busca_com_espaco = padrao.search(telefone_um)
sem_espaco = padrao.search(telefone_dois)
print(busca_com_espaco.group())
print(sem_espaco.group())
`Resultado
+55 21 99998-7654
+552199998-7654Para aprimorar ainda mais o seu aprendizado, recomendo a leitura do seguinte artigo, onde será apresentado com detalhes sobre outros caracteres especiais utilizados RegEx.
O artigo acima está em inglês, caso tenha dificuldade com o idioma, recomendo o uso do tradutor do navegador.
Fico à disposição em caso de dúvidas.
Abraços e bons estudos.