Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在mbox中使用正则表达式解析邮件_Java_Regex_Email_Mbox - Fatal编程技术网

Java 在mbox中使用正则表达式解析邮件

Java 在mbox中使用正则表达式解析邮件,java,regex,email,mbox,Java,Regex,Email,Mbox,我想获得以下基于regex和java技术的信息,其中开始标记是“FROM”mail@mail.com时间”和结束标记是“从mail@mail.com时间”或字符串结尾。结果应仅包含开始标签和开始标签与结束标签之间的内容,而不包含结束标签。背景是我想用正则表达式获取mbox格式的电子邮件。Begin标记为“FROM”mail@mail.com“时间”,邮件的结尾是下一封邮件的开头或文件的结尾 因此,我有以下模式: FROM mail@mail.com Time Text1 FROM ma

我想获得以下基于regex和java技术的信息,其中开始标记是“FROM”mail@mail.com时间”和结束标记是“从mail@mail.com时间”或字符串结尾。结果应仅包含开始标签和开始标签与结束标签之间的内容,而不包含结束标签。背景是我想用正则表达式获取mbox格式的电子邮件。Begin标记为“FROM”mail@mail.com“时间”,邮件的结尾是下一封邮件的开头或文件的结尾

因此,我有以下模式:

FROM mail@mail.com Time  
Text1  

FROM mail@mail.com Time  

Text2  

FROM mail@mail.com Time  
Text3
我的代码:

Pattern regex = Pattern.compile(Start_Tag+"(.*?)"+End_Tag,Pattern.DOTALL);  
Matcher matcher = regex.matcher(mbox_content);  
while (matcher.find())  
{  
System.out.println(matcher.group());  
}
我用过这个,但它不起作用。有人能支持我吗?提前谢谢

String MailAdress_complete_Tag="([a-zA-Z][\\w\\.-]*[a-zA-Z0-9]@[a-zA-Z][\\w\\.-]*[a-zA-Z0-9]\\.[a-zA-Z][a-zA-Z\\.][a-zA-Z])";
String MailAdress_without_country="([a-zA-Z][\\w\\.-]*[a-zA-Z0-9]@[a-zA-Z][\\w\\.-]*[a-zA-Z0-9])";

String MailAdress_Tag="("+MailAdress_complete_Tag+"|"+MailAdress_without_country+"|MAILER-DAEMON)";
String Time_Tag="[a-zA-Z0-9: ]{24}";
String Start_Tag="From\\s"+MailAdress_Tag+"*\\s\\s"+Time_Tag;
String End_Tag=LineSeparator+LineSeparator+"((?="+Start_Tag+")|$)"; 
Pattern regex = Pattern.compile(Start_Tag+"(.*?)"+End_Tag,Pattern.DOTALL);  

这个脚本从mbox文件中提取邮件。它适用于我的目的。

开始标记和结束标记本身是否表示正则表达式?