Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Não está dando certo

Esse é meu código:

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

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

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

porém dá esse problema:

Traceback (most recent call last):
  File "/home/cristhopher/Programação/Python/manipulacao_de_string/regex.py", line 9, in <module>
    print(retorno.group)
AttributeError: 'NoneType' object has no attribute 'group'
1 resposta
solução!

Oiii Deivid, como você está?

Este erro está ocorrendo por causa dos espaços na variável padrao. Observe que na variável email1 não possui espaços entre os números. Então, o correto é alterarmos o padrão para a forma exata como os números estão (um seguido do outro sem espaços e com um traço separando os quatro primeiros números dos quatro últimos):

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

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

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

Quando trabalhamos com regex é importante definirmos o padrão exato do trecho que queremos capturar, caso contrário o código será incapaz de nos retornar algo.

Qualquer dúvida estou por aqui, tá bom?

Abraços!

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