Estoy tratando de extraer direcciones de correo electrónico de transcripciones de texto sin formato de correos electrónicos. He improvisado un poco de código para encontrar las direcciones, pero no sé cómo hacer que discrimine entre ellas; en este momento solo escupe todas las direcciones de correo electrónico en el archivo. Me gustaría hacerlo, así que solo arroja direcciones que están precedidas por "De:" y algunos caracteres comodín, y termina con ">" (porque los correos electrónicos están configurados como De [nombre] < [correo electrónico]>)Analizando direcciones "desde" del texto del correo electrónico
Aquí está el código ahora:
import re #allows program to use regular expressions
foundemail = []
#this is an empty list
mailsrch = re.compile(r'[\w\-][\w\-\.][email protected][\w\-][\w\-\.]+[a-zA-Z]{1,4}')
#do not currently know exact meaning of this expression but assuming
#it means something like "[stuff]@[stuff][stuff1-4 letters]"
# "line" is a variable is set to a single line read from the file
# ("text.txt"):
for line in open("text.txt"):
foundemail.extend(mailsrch.findall(line))
# this extends the previously named list via the "mailsrch" variable
#which was named before
print foundemail
heh, parece publicado mientras aún escribía el mío. Obtuvimos el mismo resultado final, pero puede usar mailsrc.findall() aún; si solo hay un grupo, devuelve una lista de coincidencias para ese grupo, por lo que se evita la necesidad de una comprensión de la lista. – Jay
esto es perfecto, gracias! También probaré con Jay para poder obtener algunas versiones diferentes. Gracias también por la extensa explicación. –
Interesante, no sabía eso ... de alguna manera extraña para que la función actúe:? –