import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^.*\\d/\\h*\\d.*(?:\\R(?!END OF REPORT).*)*\\REND OF REPORT\\b";
final String string = "TRAFFIC MEASUREMENT REPORT PART 1/ 6 VLR MEASUREMENT VLRMEAS \n\n"
+ "SAMPLE DATE: FROM 2020-10-22 14:00:00:09\n"
+ " TO 2020-10-22 15:00:00:13\n\n"
+ "REGISTERED SUBSCRIBERS:\n\n\n"
+ "LOCATION AREA CODE CURRENT AVERAGE TMS1 TMS2 TMS3\n"
+ " UNKNOWN LAC 2 2 0 0 0\n"
+ " 113 75868 75749 0 0 0\n"
+ " 115 40627 40732 0 0 0\n"
+ " 1102 70422 70489 0 0 0\n"
+ " 1105 87075 87067 0 0 0\n"
+ " 1117 56150 56180 0 0 0\n"
+ " 1118 67175 67444 0 0 0\n"
+ " 1120 74385 74381 0 0 0\n"
+ " 1121 65034 65060 0 0 0\n"
+ " 1122 21636 21407 0 0 0\n"
+ " 1217 22944 22856 0 0 0\n"
+ " 1218 49054 48993 0 0 0\n"
+ " 1318 24283 24066 0 0 0\n"
+ " 1418 16366 16350 0 0 0\n"
+ " 2118 17812 17674 0 0 0\n"
+ " 2120 79644 79489 0 0 0\n"
+ "TOTAL 768477 767939 0 0 0\n\n"
+ "PART 1/ 6\n"
+ "END OF REPORT\n\n"
+ "testing some data\n"
+ "here\n\n"
+ "TRAFFIC MEASUREMENT REPORT PART 2/ 6 VLR MEASUREMENT VLRMEAS \n\n"
+ "SAMPLE DATE: FROM 2020-10-22 14:00:00:09\n"
+ " TO 2020-10-22 15:00:00:13\n\n"
+ "REGISTERED SUBSCRIBERS:\n\n\n"
+ "LOCATION AREA CODE CURRENT AVERAGE TMS1 TMS2 TMS3\n"
+ " UNKNOWN LAC 2 2 0 0 0\n"
+ " 113 75868 75749 0 0 0\n"
+ " 115 40627 40732 0 0 0\n"
+ " 1102 70422 70489 0 0 0\n"
+ " 1105 87075 87067 0 0 0\n"
+ " 1117 56150 56180 0 0 0\n"
+ " 1118 67175 67444 0 0 0\n"
+ " 1120 74385 74381 0 0 0\n"
+ " 1121 65034 65060 0 0 0\n"
+ " 1122 21636 21407 0 0 0\n"
+ " 1217 22944 22856 0 0 0\n"
+ " 1218 49054 48993 0 0 0\n"
+ " 1318 24283 24066 0 0 0\n"
+ " 1418 16366 16350 0 0 0\n"
+ " 2118 17812 17674 0 0 0\n"
+ " 2120 79644 79489 0 0 0\n"
+ "TOTAL 768477 767939 0 0 0\n\n"
+ "PART 2/ 6\n"
+ "END OF REPORT";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE | Pattern.CASE_INSENSITIVE);
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