Python / Jython解析电子邮件

时间:2015-06-02 11:54:34

标签: python jython

我使用Jython解析了电子邮件消息以获取电子邮件消息正文值。 现在我有身体价值,我想从中提取以下文字。

正文包含文字,我想提取以下文字:

身体中有行:

 [type]: mail
 [category]: Values
 [service]: testing
 [description]: Testing out automapping of email
 Line break Testing out automapping of email
 Line break Testing out automapping of email

现在我想在[description]之后提取所有值: 这可能吗? 我试过这个:

desc = '[description]:'
res = findall("{}.*".format(desc), body)[0]

1 个答案:

答案 0 :(得分:2)

正则表达式可能的解决方案,但请考虑@StefanNch建议:

\[description\]:((?:.+\n?)*)

import re
p = re.compile(ur'\[description\]:((?:.+\n?)*)')
test_str = u" [type]: mail\n [category]: Values\n [service]: testing\n [description]: Testing out automapping of email\n Line break Testing out automapping of email\n Line break Testing out automapping of email"
subst = u""

result = re.sub(p, subst, test_str)

re.search(p, test_str)

DEMO