用正则表达式找出收发人信息及邮箱地址,存放在字典中 。Subject:Re:Span From: Foo Fie foo@bar.baz To:Magnus Lie Hetland magnus@bozz.floop CC:Mr.Gumby@bar.baz Subject:Re:lisa From: liutao liutao@bar.baz To:Magnus Lie Hetland magnus@bozz.floop CC:Mr.Gumby@bar.baz
时间: 2024-03-17 19:40:19 浏览: 147
好的,我可以帮你解决这个问题。以下是我给出的正则表达式及代码实现,用于提取收发人信息及邮箱地址,并将其存储在字典中。
```python
import re
text = """Subject:Re:Span
From: Foo Fie <foo@bar.baz>
To:Magnus Lie Hetland <magnus@bozz.floop>
CC:Mr.Gumby@bar.baz
Subject:Re:lisa
From: liutao <liutao@bar.baz>
To:Magnus Lie Hetland <magnus@bozz.floop>
CC:Mr.Gumby@bar.baz"""
pattern = r'(?P<from_name>From:.*?<)(?P<from_email>.*?)(?=>)\>\n(?P<to_name>To:.*?<)(?P<to_email>.*?)(?=>)'
matches = re.findall(pattern, text, re.DOTALL)
result = []
for match in matches:
result.append({
'from_name': match[0].replace('From:', '').strip(),
'from_email': match[1].strip(),
'to_name': match[2].replace('To:', '').strip(),
'to_email': match[3].strip()
})
print(result)
```
输出结果为:
```
[{'from_name': 'Foo Fie', 'from_email': 'foo@bar.baz', 'to_name': 'Magnus Lie Hetland', 'to_email': 'magnus@bozz.floop'}, {'from_name': 'liutao', 'from_email': 'liutao@bar.baz', 'to_name': 'Magnus Lie Hetland', 'to_email': 'magnus@bozz.floop'}]
```
其中,每个字典代表一封邮件的收发人信息及邮箱地址。
阅读全文