如上所述,我的文本文件包含来自电子邮件的文本。 我需要提取E2,E1,E0以及每个来自From:,Sent:,To:,Subject的值: 我们可以使用正则表达式吗?
我们可以做" ^(从|发送|到|主题):(。*)" java中的正则表达式。 但上面的文本示例是否有任何全面的正则表达式?
答案 0 :(得分:1)
查看原始消息来源。你会看到应该有一个统一的第一个标题,并且始终只有一个空白行将标题与实际消息(你想要的部分)分开。
您可以创建一个正则表达式来查找第一个标题后面的第一个空行,然后提取正文。
答案 1 :(得分:1)
不确定是否相关,但有些邮件阅读器(雷鸟等)将邮件存储在具有确定格式的文本文件中:
From
开头(即From后跟空格而不是列):此行是邮件的开头From
行是邮件正文如果您正在阅读此类文件,我强烈建议您不要依赖已知的HEARDERNAMES,而是根据上述规则解析文件,或者更好地使用mailbox
模块为您执行此操作: