java - 在java中使用正则表达式从回复邮件中删除原始消息?

标签 java regex jakarta-mail

在我的论坛中,用户可以通过电子邮件回复。我正在处理他们回复的邮件。当他们回复原始消息时,会附加原始消息。我只想获取回复消息而不是原始消息。

我必须为 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/

相关文章:

java - 适用于 Tomcat 6 及更高版本的良好管理控制台

java - 多次重新运行一组 JUnit 测试

java - <String, Object> 或 <String, String> 的 Android HashMap

ssl - 带有证书的javamail smtp身份验证

java - 检查指定时间内的变量变化?

java - 正则表达式仅匹配 URL 的一部分 - 为什么?

regex - 更漂亮的自动 "correct"正则表达式转义正斜杠 `\`

javascript - 如何在 Javascript 中从字符串的开头和结尾 trim 所有非字母数字字符?

gmail - 链接到Gmail中的单个邮件

java - 用 Java 形成邮件正文