Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Código igual ao do vídeo, porém dando erro

Meu código está exatamente como no vídeo:

import re

email1 = "Meu numero e 1234-1234"
email2 = "Fale comigo em 1234-1234 esse é meu telefone"
email3 = "1234-1234 é o meu celular"

padrao = "[0123456789] [0123456789] [0123456789] [0123456789] [-] [0123456789] [0123456789] [0123456789] [0123456789]"

retorno = re.search(padrao, email1)
print(retorno)

porém, retorna a seguinte resposta no console:

None
3 respostas

Olá, tudo bem?

Eu consegui fazer de uma outra forma, não sou aluno do mesmo curso, mas vi a pergunta e resolvi ajuda. A forma como eu faria é:

import re

email1 = "Meu numero e 1234-1234"
email2 = "Fale comigo em 1234-1234 esse é meu telefone"
email3 = "1234-1234 é o meu celular"

padrao = "[0-9]*4-[0-9]*4"

retorno = re.search(padrao, email1)
print(retorno)

0-9: qualquer numero no intervalo de 0 a 9

*4: Estou multiplicando por 4 vezes para "printar" somente o valor, poderia ser print(retorno.group()) Espero ter ajudado. Bons estudos.

solução!

Olá Nasser,

Acredito que o problema seja apenas os espaços no padrão, realmente no vídeo parece que tem espaços mas o correto é tudo junto:

padrao = "[0123456789][0123456789][0123456789][0123456789][-][0123456789][0123456789][0123456789][0123456789]"

Utilizando os espaços no padrão estamos procurando por um número com espaços também: 1 2 3 4 - 1 2 3 4 e não o que temos no texto de exemplo, como pode ser visto também no exemplo do Leonardo que não tem espaços.

Obrigado pessoal!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software