Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python从电子邮件线程提取列表匹配_Python_Regex_Match - Fatal编程技术网

python从电子邮件线程提取列表匹配

python从电子邮件线程提取列表匹配,python,regex,match,Python,Regex,Match,我是python新手。我需要检索匹配列表 例如,下面是我的文本,它是一封电子邮件。 我需要提取所有到,从,发送,主题和正文从邮件线程 结果需要从列表中删除 From(1)=克兰德尔,肖恩 From(2)=马库斯·内特尔顿 To(1)=克兰德尔,肖恩;巴德尔,罗伯特 至(2)=梅雷迪斯,凯文 如上述发送、主题等 "-----Original Message----- From: Crandall, Sean Sent: Wednesday, May 23, 2001 2:56 PM T

我是python新手。我需要检索匹配列表

例如,下面是我的文本,它是一封电子邮件。 我需要提取所有到,从,发送,主题和正文从邮件线程

结果需要从列表中删除

From(1)=克兰德尔,肖恩 From(2)=马库斯·内特尔顿

To(1)=克兰德尔,肖恩;巴德尔,罗伯特 至(2)=梅雷迪斯,凯文

如上述发送、主题等

"-----Original Message-----
From:   Crandall, Sean  
Sent:   Wednesday, May 23, 2001 2:56 PM
To: Meredith, Kevin
Subject:    RE: Spreads and Product long desc.

Kevin,

Is the SP and NP language in the spread language the same language we use when we transact SP15 or NP15 on eol?

 -----Original Message-----
From:   Meredith, Kevin  
Sent:   Wednesday, May 23, 2001 11:16 AM
To: Crandall, Sean; Badeer, Robert
Subject:    FW: Spreads and Product long desc."

对此,您可以使用
re.findall()
,请参阅:。例如

将返回来自姓名的列表(
['Crandall,Sean','Meredith,Kevin']
),假设总是相同数量的空格

如果你想变得有趣,你可以在同一个表达式中进行多次搜索:例如

re.findall("From:   (.*)  \nSent:   (.*)", input_string);

将返回
[('Crandall,Sean','2001年5月23日星期三下午2:56'),('Meredith,Kevin','2001年5月23日星期三上午11:16')
您可以使用
re.findall()
进行此操作,请参阅:。例如

将返回来自姓名的列表(
['Crandall,Sean','Meredith,Kevin']
),假设总是相同数量的空格

如果你想变得有趣,你可以在同一个表达式中进行多次搜索:例如

re.findall("From:   (.*)  \nSent:   (.*)", input_string);

将返回<代码> [(Crand,肖恩,'星期三,2001年5月23日下午2点56分),(Meldith',凯文,'星期三,2001年5月23日11:16AM)] < /代码>

< P>如果你不知道如何使用正则表达式,并且你的问题不那么难,你可以考虑使用<代码>分裂()/<代码>和<代码>替换()/<代码>函数。< /P> 以下几行代码可能是一个良好的开端:

mails = """-----Original Message-----
From:   Crandall, Sean  
Sent:   Wednesday, May 23, 2001 2:56 PM
To: Meredith, Kevin
Subject:    RE: Spreads and Product long desc.

Kevin,

Is the SP and NP language in the spread language the same language we use when we transact SP15 or NP15 on eol?

 -----Original Message-----
From:   Meredith, Kevin  
Sent:   Wednesday, May 23, 2001 11:16 AM
To: Crandall, Sean; Badeer, Robert
Subject:    FW: Spreads and Product long desc."""

mails_list = mails.split("-----Original Message-----\n")
mails_from = []
mails_sent = []
mails_to = []
mails_subject = []
mails_body = []

for mail in mails_list:
    if not mail:
        continue
    inter = mail.split("From:   ")[1].split("\nSent:   ")
    mails_from.append(inter[0])
    inter = inter[1].split("\nTo: ")
    mails_sent.append(inter[0])
    inter = inter[1].split("\nSubject:    ")
    mails_to.append(inter[0])
    inter = inter[1].split("\n")
    mails_subject.append(inter[0])
    mails_body.append(inter[0])
看看这如何只使用真正的基本概念

您可能需要考虑以下几点:

  • 你自己试试,你可能需要一些调整
  • 使用这种方法,解析方法非常困难,邮件的格式必须非常准确
  • 可能需要删除一些空间,例如使用
    replace()
    方法

如果你不知道如何使用正则表达式,因为你的问题不是那么困难,你可以考虑使用<代码> SPLIT()/<代码>和<代码>替换()/<代码>函数。< /P> 以下几行代码可能是一个良好的开端:

mails = """-----Original Message-----
From:   Crandall, Sean  
Sent:   Wednesday, May 23, 2001 2:56 PM
To: Meredith, Kevin
Subject:    RE: Spreads and Product long desc.

Kevin,

Is the SP and NP language in the spread language the same language we use when we transact SP15 or NP15 on eol?

 -----Original Message-----
From:   Meredith, Kevin  
Sent:   Wednesday, May 23, 2001 11:16 AM
To: Crandall, Sean; Badeer, Robert
Subject:    FW: Spreads and Product long desc."""

mails_list = mails.split("-----Original Message-----\n")
mails_from = []
mails_sent = []
mails_to = []
mails_subject = []
mails_body = []

for mail in mails_list:
    if not mail:
        continue
    inter = mail.split("From:   ")[1].split("\nSent:   ")
    mails_from.append(inter[0])
    inter = inter[1].split("\nTo: ")
    mails_sent.append(inter[0])
    inter = inter[1].split("\nSubject:    ")
    mails_to.append(inter[0])
    inter = inter[1].split("\n")
    mails_subject.append(inter[0])
    mails_body.append(inter[0])
看看这如何只使用真正的基本概念

您可能需要考虑以下几点:

  • 你自己试试,你可能需要一些调整
  • 使用这种方法,解析方法非常困难,邮件的格式必须非常准确
  • 可能需要删除一些空间,例如使用
    replace()
    方法

让我们看看你试过什么?让我们看看你试过什么?