import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(\\d*)\n"
+ "\\.?\\s?\n"
+ "([^,]+)\n"
+ ",\\s\n"
+ "([^\\d]+)\n"
+ "\\s?\n"
+ "(\\d+)\n"
+ "\\s\n"
+ "(\n"
+ " (?:[A-Z]{3})?\n"
+ ")\n"
+ "\\s?\n"
+ "(\n"
+ "# OLD SOLUTION\n"
+ "# (?:\n"
+ "# (?!\\d\\:\\d)\n"
+ "# .\n"
+ "# )*\n\n"
+ "# NEW SOLUTION\n"
+ " .*?\n"
+ ")\n"
+ "\\s?\n"
+ "(\n"
+ " (?:\\d+:)?\n"
+ " \\d+\\.\\d+\n"
+ ")\n"
+ "(?:\n"
+ " \\s\n"
+ " (\\d+)\n"
+ ")?\n"
+ "$";
final String string = "12. NUNEZ CHENG, Walter 74 Club Tennis Las Terr 3:44.57 123";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE | Pattern.CASE_INSENSITIVE | Pattern.COMMENTS);
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