import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(\\d{2}\\/\\d{2}\\/\\d{4}),\\s(\\d(?:\\d)?:\\d{2})\\s-\\s([^:]*):\\s(.*?)(?=\\s*\\d{2}\\/|$)";
final String string = " 09/05/2016, 13:11 - Joe Bloggs: Hey Jane how're you doing? ? what dates are you in London again? I realise that June isn't actually that far away so might book my trains down sooner than later!\n"
+ "09/05/2016, 13:47 - Jane Doe: Hey! I'm in london from the 12th-16th of june! Hope you can make it down :) sorry it's a bit annoying i couldn't make it there til a sunday!\n"
+ "09/05/2016, 14:03 - Joe Bloggs: Right I'll speak to my boss! I've just requested 5 weeks off in November/December to visit Aus so I'll see if I can negotiate some other days!\n\n"
+ "When does your uni term end in November? I'm thinking of visiting perth first then going to the east coast!\n"
+ "09/05/2016, 22:32 - Jane Doe: Oh that'll be awesome if you come to aus! Totally understand if it's too hard for you to request more days off in june. \n\n"
+ "I finish uni early November! So should definitely be done by then if you came here\n"
+ "09/05/2016, 23:20 - Joe Bloggs: I could maybe get a couple of days ? when do you fly into London on the Sunday?\n\n"
+ "Perfect! I need to speak to everyone else to make sure they're about. I can't wait to visit but it's so far away!\n"
+ "09/05/2016, 23:30 - Jane Doe: I fly in at like 7.30am so I'll have that whole day!\n\n"
+ "I'm sure the year will fly since it's may already haha\n"
+ "09/05/2016, 23:34 - Joe Bloggs: Aw nice one! Even if I can get just Monday off I can get an early train on Sunday ?\n";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
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