import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "([A-Z][a-z]{2} [A-Z][a-z]{2} \\d{2} \\d{2}:\\d{2}:\\d{2} CET \\d{4})\\n(/dev.*?) ==> (.*?)\\n.*?\\n(\\d*) bytes .*? copied, (.*?) s, (.*?) (.*?s\\n)(.*?)Exit status: (\\d*)\\n";
final String string = "Thu Feb 11 15:01:37 CET 2021\n"
+ "/dev/mapper/vgdata-euramis_u000 ==> /ec/prod/server/euramis/u000\n"
+ "1+0 records in\n"
+ "1+0 records out\n"
+ "512 bytes (512 B) copied, 0.00383015 s, 134 kB/s\n"
+ " Command being timed: \"dd if=/dev/zero of=/ec/prod/server/euramis/u000/TstPerf/test_512_1 bs=512 count=1 oflag=dsync\"\n"
+ " User time (seconds): 0.00\n"
+ " System time (seconds): 0.00\n"
+ " Percent of CPU this job got: 25%\n"
+ " Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.00\n"
+ " Average shared text size (kbytes): 0\n"
+ " Average unshared data size (kbytes): 0\n"
+ " Average stack size (kbytes): 0\n"
+ " Average total size (kbytes): 0\n"
+ " Maximum resident set size (kbytes): 812\n"
+ " Average resident set size (kbytes): 0\n"
+ " Major (requiring I/O) page faults: 0\n"
+ " Minor (reclaiming a frame) page faults: 252\n"
+ " Voluntary context switches: 4\n"
+ " Involuntary context switches: 1\n"
+ " Swaps: 0\n"
+ " File system inputs: 0\n"
+ " File system outputs: 8\n"
+ " Socket messages sent: 0\n"
+ " Socket messages received: 0\n"
+ " Signals delivered: 0\n"
+ " Page size (bytes): 4096\n"
+ " Exit status: 0\n"
+ "Thu Feb 11 16:02:17 CET 2021\n"
+ "/dev/mapper/vgdata-euramis_u000 ==> /ec/prod/server/euramis/u000\n"
+ "1+0 records in\n"
+ "1+0 records out\n"
+ "512 bytes (512 B) copied, 0.00275458 s, 186 kB/s\n"
+ " Command being timed: \"dd if=/dev/zero of=/ec/prod/server/euramis/u000/TstPerf/test_512_1 bs=512 count=1 oflag=dsync\"\n"
+ " User time (seconds): 0.00\n"
+ " System time (seconds): 0.00\n"
+ " Percent of CPU this job got: 33%\n"
+ " Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.00\n"
+ " Average shared text size (kbytes): 0\n"
+ " Average unshared data size (kbytes): 0\n"
+ " Average stack size (kbytes): 0\n"
+ " Average total size (kbytes): 0\n"
+ " Maximum resident set size (kbytes): 816\n"
+ " Average resident set size (kbytes): 0\n"
+ " Major (requiring I/O) page faults: 0\n"
+ " Minor (reclaiming a frame) page faults: 253\n"
+ " Voluntary context switches: 4\n"
+ " Involuntary context switches: 1\n"
+ " Swaps: 0\n"
+ " File system inputs: 0\n"
+ " File system outputs: 8\n"
+ " Socket messages sent: 0\n"
+ " Socket messages received: 0\n"
+ " Signals delivered: 0\n"
+ " Page size (bytes): 4096\n"
+ " Exit status: 0\n"
+ "Thu Feb 11 17:02:26 CET 2021\n"
+ "/dev/mapper/vgdata-euramis_u000 ==> /ec/prod/server/euramis/u000\n"
+ "1+0 records in\n"
+ "1+0 records out\n"
+ "512 bytes (512 B) copied, 0.00323523 s, 158 kB/s\n"
+ " Command being timed: \"dd if=/dev/zero of=/ec/prod/server/euramis/u000/TstPerf/test_512_1 bs=512 count=1 oflag=dsync\"\n"
+ " User time (seconds): 0.00\n"
+ " System time (seconds): 0.00\n"
+ " Percent of CPU this job got: 25%\n"
+ " Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.00\n"
+ " Average shared text size (kbytes): 0\n"
+ " Average unshared data size (kbytes): 0\n"
+ " Average stack size (kbytes): 0\n"
+ " Average total size (kbytes): 0\n"
+ " Maximum resident set size (kbytes): 820\n"
+ " Average resident set size (kbytes): 0\n"
+ " Major (requiring I/O) page faults: 0\n"
+ " Minor (reclaiming a frame) page faults: 252\n"
+ " Voluntary context switches: 4\n"
+ " Involuntary context switches: 1\n"
+ " Swaps: 0\n"
+ " File system inputs: 0\n"
+ " File system outputs: 8\n"
+ " Socket messages sent: 0\n"
+ " Socket messages received: 0\n"
+ " Signals delivered: 0\n"
+ " Page size (bytes): 4096\n"
+ " Exit status: 0\n";
final Pattern pattern = Pattern.compile(regex, Pattern.DOTALL | 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