import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(?:To:|(?!^)\\G).*?<([^>]*)>(?=.*Message-ID)";
final String string = "Content-Type: application/ms-tnef; name=\"winmail.dat\"\n"
+ "Content-Transfer-Encoding: binary\n"
+ "From: ABC aa DDD <aaaa.b@abc.com>\n"
+ "To: DDDDD dd <sssss.r@abc.com>\n"
+ "CC: Rrrrr rrede <sssss.rv@abc.com>, Dsssssf V R\n"
+ " <dsdsdsds.vr@abc.com>, Psssss A <pssss.a@abc.com>, Logistics\n"
+ " <LOGISTICS@abc.com>, Gssss Bsss P <gdfddd.p@abc.com>\n"
+ "Subject: RE: [MyApps] (PRO-34604) PR for Additional Monitor allocation [CITS\n"
+ " Ticket:258849]\n"
+ "Thread-Topic: [MyApps] (PRO-34604) PR for Additional Monitor allocation\n"
+ " [CITS Ticket:258849]\n"
+ "Thread-Index: AQHRXMJHE6KqCFxKBEieNqGhdNy7Pp8XHc0A\n"
+ "Date: Mon, 1 Feb 2016 17:56:17 +0530\n"
+ "Message-ID: <B7F84439E634A44AB586E3FF2EA0033A29E27E47@JETWINSRVRPS01.abc.com>\n"
+ "References: <JA.101.1453963700000@myapps.abc.com>\n"
+ " <JA.101.1453963700000.978.1454311765375@myapps.abc.com>\n"
+ "In-Reply-To: <JIRA.450101.1453963700000.978.1454311765375@myapps.abc.com>\n"
+ "Accept-Language: en-US\n"
+ "Content-Language: en-US\n"
+ "X-MS-Has-Attach:\n"
+ "X-MS-Exchange-Organization-SCL: -1\n"
+ "X-MS-TNEF-Correlator: <B7F84439E634A44AB586E3FF2EA0033A29E27E47@JETWINSRVRPS01.abc.com>\n"
+ "MIME-Version: 1.0\n"
+ "X-MS-Exchange-Organization-AuthSource: TURWINSRVRPS01.abc.com\n"
+ "X-MS-Exchange-Organization-AuthAs: Internal\n"
+ "X-MS-Exchange-Organization-AuthMechanism: 04\n"
+ "X-Originating-IP: [1.1.1.7]";
final Pattern pattern = Pattern.compile(regex, Pattern.DOTALL);
final Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html