fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6. import java.util.regex.*;
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. public static void main (String[] args) throws java.lang.Exception
  11. {
  12. String input = "Content-Type: application/ms-tnef; name=\"winmail.dat\"\r\n"
  13. + "Content-Transfer-Encoding: binary\r\n" + "From: ABC aa DDD <aaaa.b@abc.com>\r\n"
  14. + "To: DDDDD dd <sssss.r@abc.com>\r\n" + "CC: Rrrrr rrede <sssss.rv@abc.com>, Dsssssf V R\r\n"
  15. + " <dsdsdsds.vr@abc.com>, Psssss A <pssss.a@abc.com>, Logistics\r\n"
  16. + " <LOGISTICS@abc.com>, Gssss Bsss P <gdfddd.p@abc.com>\r\n"
  17. + "Subject: RE: [MyApps] (PRO-34604) PR for Additional Monitor allocation [CITS\r\n"
  18. + " Ticket:258849]\r\n" + "Thread-Topic: [MyApps] (PRO-34604) PR for Additional Monitor allocation\r\n"
  19. + " [CITS Ticket:258849]\r\n" + "Thread-Index: AQHRXMJHE6KqCFxKBEieNqGhdNy7Pp8XHc0A\r\n"
  20. + "Date: Mon, 1 Feb 2016 17:56:17 +0530\r\n"
  21. + "Message-ID: <B7F84439E634A44AB586E3FF2EA0033A29E27E47@JETWINSRVRPS01.abc.com>\r\n"
  22. + "References: <JA.101.1453963700000@myapps.abc.com>\r\n"
  23. + " <JA.101.1453963700000.978.1454311765375@myapps.abc.com>\r\n"
  24. + "In-Reply-To: <JIRA.450101.1453963700000.978.1454311765375@myapps.abc.com>\r\n"
  25. + "Accept-Language: en-US\r\n" + "Content-Language: en-US\r\n" + "X-MS-Has-Attach:\r\n"
  26. + "X-MS-Exchange-Organization-SCL: -1\r\n"
  27. + "X-MS-TNEF-Correlator: <B7F84439E634A44AB586E3FF2EA0033A29E27E47@JETWINSRVRPS01.abc.com>\r\n"
  28. + "MIME-Version: 1.0\r\n" + "X-MS-Exchange-Organization-AuthSource: TURWINSRVRPS01.abc.com\r\n"
  29. + "X-MS-Exchange-Organization-AuthAs: Internal\r\n" + "X-MS-Exchange-Organization-AuthMechanism: 04\r\n"
  30. + "X-Originating-IP: [1.1.1.7]";
  31. Pattern pt = Pattern.compile("(?:\\bTo:|(?!^)\\G).*?<([^>]*)>(?=.*Message-ID)", Pattern.DOTALL);
  32. Matcher m = pt.matcher(input);
  33. while (m.find()) {
  34. System.out.println(m.group(1));
  35. }
  36. }
  37. }
Success #stdin #stdout 0.11s 320576KB
stdin
Standard input is empty
stdout
sssss.r@abc.com
sssss.rv@abc.com
dsdsdsds.vr@abc.com
pssss.a@abc.com
LOGISTICS@abc.com
gdfddd.p@abc.com