在我的论坛中,用户可以通过电子邮件回复。我正在处理他们回复的邮件。当他们回复原始消息时,会附加原始消息。我只想获取回复消息而不是原始消息。
我必须为 gmail 和 hotmail 编写正则表达式。
我为 gmail 编写了正则表达式,如下所示:
\n.*wrote:(?s).*--End of Post--
它正在删除除日期之外的原始消息。 我也想删除日期。
删除原始消息之前:
hi 33
On Tue, May 11, 2010 at 4:18 PM, Mmmmm, Rrrrr
<Rrrr.Mmmmm@uuuuu.com>wrote:
The following update has been posted to this discussion:
----------------------------------------------------------------------
test as user 222
----------------------------------------------------------------------
[$MESSAGE_SIGNATURE_HEADER$]
--End of Post--
当我使用上面的正则表达式时,它的过滤如下:
hi 33
On Tue, May 11, 2010 at 4:18 PM, Mmmmm, Rrrrr
这里我只想要实际的消息“hi 33”而不是那个日期。如何使用上面的正则表达式过滤日期?
另外我也需要 Hotmail 的正则表达式。
非常感谢您的回复。 提前致谢。
最佳答案
尝试这个(这将匹配所有应该删除的内容):
On\s+\w+,\s+\w+\s+\d+,\s+\d+\s+at\s+\d+:\d+\s+\w+,.*?wrote:.*?--End of Post--
或更简单的版本:
On.*?wrote:.*?--End of Post--
关于java - 在java中使用正则表达式从回复邮件中删除原始消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2818262/