有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java发送邮件日期正则表达式

回复电子邮件时 通常,邮件客户端会在原始邮件之前添加电子邮件的发送日期 如下所示:

my reply
On Fri, 2011-06-17 at 12:33 -0400, friendly user wrote:
> Reply ABOVE THIS LINE
and here is the original message.

我想做一个正则表达式来匹配第二个&;第三行,得到它的开始索引,这样我就可以从0到那个日期的子字符串


共 (3) 个答案

  1. # 1 楼答案

    我尝试了以下方法,效果良好:

    On.*?wrote:(\r\n|\r|\n)> Reply ABOVE THIS LINE
    
  2. # 2 楼答案

    与日期匹配的正则表达式为(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{4}-\d{2}-\d{2} at \d{2}:\d{2} (-)?\d{4}(\r\n|\r|\n)> Reply ABOVE THIS LINE。我不懂Java,但我想有一个正则表达式匹配函数,如果找到匹配,它将返回匹配的字符位置。否则,黑客会在正则表达式的末尾添加一个.*$,并使用replace函数将日期及其后的所有内容替换为零,只留下所需的部分

  3. # 3 楼答案

    我不是正则表达式向导,但您需要类似于:

    ^(On ).{3}, (19|20)\d\d-\d\d-\d\d at \d\d:\d\d -\d\d\d\d,
    

    很明显,它在验证有效时间和日期方面没有那么干净,但我假设您的电子邮件服务器没有吐出无效的ID