import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "Alarm:\\s+0:\\s+T AL:\\s+(?P<Temp_AL_0>[+-]\\d+\\.\\d+)\\,\\s+t AL:\\s+(?P<time_AL_0>\\d+)\\s+1:\\s+T AL:\\s+(?P<Temp_AL_1>[+-]\\d+\\.\\d+)\\,\\s+t AL:\\s+(?P<time_AL_1>\\d+)";
final String string = "Device: Q-tag Fridge-tag 2\n"
+ "Vers: 0.5\n"
+ "Fw Vers: 3.4p0o\n"
+ "Sensor: 4\n"
+ "Conf:\n"
+ " Serial: 130400141244\n"
+ " PCB: BG0211306532\n"
+ " CID: 1000\n"
+ " Lot: 1792_20_08\n"
+ " Zone: 0.00\n"
+ " Measurement delay: 10\n"
+ " Moving Avrg: 1\n"
+ " User Alarm Config: 0\n"
+ " User Clock Config: 1\n"
+ " Alarm Indication: 0\n"
+ " Temp unit: C\n"
+ " Alarm:\n"
+ " 0:\n"
+ " T AL: -0.5, t AL: 60\n"
+ " 1:\n"
+ " T AL: +8.3, t AL: 600\n"
+ " Int Sensor:\n"
+ " Timeout: 1, Offset: +0.0\n"
+ " Report history length: 60\n"
+ " Det Report: 3\n"
+ " Use ext devices: 0\n"
+ " Test Res: 1, Test TS: 2021-05-20 12:51\n"
+ "Hist:\n"
+ " TS Actv: 2022-03-05 11:09\n"
+ " TS Report Creation: 2022-03-28 07:26\n"
+ " 1:\n"
+ " Date: 2022-03-28\n"
+ " Min T: +3.2, TS Min T: 05:24\n"
+ " Max T: +3.5, TS Max T: 00:00\n"
+ " Avrg T: +3.3\n"
+ " Alarm:\n"
+ " 0:\n"
+ " t Acc: 0\n"
+ " 1:\n"
+ " t Acc: 0\n"
+ " Int Sensor timeout:\n"
+ " t AccST: 0\n"
+ " Events: 8\n"
+ " Checked:\n"
+ " TS AM: 07:20\n"
+ " 2:\n"
+ " Date: 2022-03-27\n"
+ " Min T: +2.9, TS Min T: 06:02\n"
+ " Max T: +3.8, TS Max T: 17:13\n"
+ " Avrg T: +3.2\n"
+ " Alarm:\n"
+ " 0:\n"
+ " t Acc: 0\n"
+ " 1:\n"
+ " t Acc: 0\n"
+ " Int Sensor timeout:\n"
+ " t AccST: 0\n"
+ " Events: 0\n"
+ " 3:\n"
+ " Date: 2022-03-26\n"
+ " Min T: +2.3, TS Min T: 01:57\n"
+ " Max T: +3.3, TS Max T: 16:49\n"
+ " Avrg T: +2.8\n"
+ " Alarm:\n"
+ " 0:\n"
+ " t Acc: 0\n"
+ " 1:\n"
+ " t Acc: 0\n"
+ " Int Sensor timeout:\n"
+ " t AccST: 0\n"
+ " Events: 0\n"
+ " 4:\n"
+ " Date: 2022-03-25\n"
+ " Min T: +2.1, TS Min T: 01:07\n"
+ " Max T: +2.8, TS Max T: 16:04\n"
+ " Avrg T: +2.4\n"
+ " Alarm:\n"
+ " 0:\n"
+ " t Acc: 0\n"
+ " 1:\n"
+ " t Acc: 0\n"
+ " Int Sensor timeout:\n"
+ " t AccST: 0\n"
+ " Events: 0\n"
+ " 5:\n"
+ " Date: 2022-03-24\n"
+ " Min T: +1.8, TS Min T: 01:35\n"
+ " Max T: +2.5, TS Max T: 18:48\n"
+ " Avrg T: +2.1\n"
+ " Alarm:\n"
+ " 0:\n"
+ " t Acc: 0\n"
+ " 1:\n"
+ " t Acc: 0\n"
+ " Int Sensor timeout:\n"
+ " t AccST: 0\n"
+ " Events: 0\n"
+ " 6:\n"
+ " Date: 2022-03-23\n"
+ " Min T: +1.7, TS Min T: 09:23\n"
+ " Max T: +2.2, TS Max T: 16:23\n"
+ " Avrg T: +1.9\n"
+ " Alarm:\n"
+ " 0:\n"
+ " t Acc: 0\n"
+ " 1:\n"
+ " t Acc: 0\n"
+ " Int Sensor timeout:\n"
+ " t AccST: 0\n"
+ " Events: 0\n"
+ " 7:\n"
+ " Date: 2022-03-22\n"
+ " Min T: +2.0, TS Min T: 06:18\n"
+ " Max T: +2.3, TS Max T: 00:09\n"
+ " Avrg T: +2.0\n"
+ " Alarm:\n"
+ " 0:\n"
+ " t Acc: 0\n"
+ " 1:\n"
+ " t Acc: 0\n"
+ " Int Sensor timeout:\n"
+ " t AccST: 0\n"
+ " Events: 0\n"
+ " 8:\n"
+ " Date: 2022-03-21\n"
+ " Min T: +2.2, TS Min T: 21:03\n"
+ " Max T: +2.8, TS Max T: 00:00\n"
+ " Avrg T: +2.4\n"
+ " Alarm:\n"
+ " 0:\n"
+ " t Acc: 0\n"
+ " 1:\n"
+ " t Acc: 0\n"
+ " Int Sensor timeout:\n"
+ " t AccST: 0\n"
+ " Events: 0\n"
+ " 9:\n"
+ " Date: 2022-03-20\n"
+ " Min T: +2.7, TS Min T: 23:40\n"
+ " Max T: +3.1, TS Max T: 12:47\n"
+ " Avrg T: +2.9\n"
+ " Alarm:\n"
+ " 0:\n"
+ " t Acc: 0\n"
+ " 1:\n"
+ " t Acc: 0\n"
+ " Int Sensor timeout:\n"
+ " t AccST: 0\n"
+ " Events: 0\n"
+ " 10:\n"
+ " Date: 2022-03-19\n"
+ " Min T: +3.0, TS Min T: 06:10\n"
+ " Max T: +4.1, TS Max T: 10:59\n"
+ " Avrg T: +3.2\n"
+ " Alarm:\n"
+ " 0:\n"
+ " t Acc: 0\n"
+ " 1:\n"
+ " t Acc: 0\n"
+ " Int Sensor timeout:\n"
+ " t AccST: 0\n"
+ " Events: 0\n"
+ " 11:\n"
+ " Date: 2022-03-18\n"
+ " Min T: +2.8, TS Min T: 05:37\n"
+ " Max T: +3.6, TS Max T: 16:54\n"
+ " Avrg T: +3.2\n"
+ " Alarm:\n"
+ " 0:\n"
+ " t Acc: 0\n"
+ " 1:\n"
+ " t Acc: 0\n"
+ " Int Sensor timeout:\n"
+ " t AccST: 0\n"
+ " Events: 0\n"
+ " 12:\n"
+ " Date: 2022-03-17\n"
+ " Min T: +3.1, TS Min T: 21:34\n"
+ " Max T: +4.6, TS Max T: 10:35\n"
+ " Avrg T: +3.4\n"
+ " Alarm:\n"
+ " 0:\n"
+ " t Acc: 0\n"
+ " 1:\n"
+ " t Acc: 0\n"
+ " Int Sensor timeout:\n"
+ " t AccST: 0\n"
+ " Events: 0\n"
+ " 13:\n"
+ " Date: 2022-03-16\n"
+ " Min T: +3.5, TS Min T: 21:44\n"
+ " Max T: +4.2, TS Max T: 12:21\n"
+ " Avrg T: +3.7\n"
+ " Alarm:\n"
+ " 0:\n"
+ " t Acc: 0\n"
+ " 1:\n"
+ " t Acc: 0\n"
+ " Int Sensor timeout:\n"
+ " t AccST: 0\n"
+ " Events: 0\n"
+ " 14:\n"
+ " Date: 2022-03-15\n"
+ " Min T: +3.7, TS Min T: 07:28\n"
+ " Max T: +5.2, TS Max T: 08:21\n"
+ " Avrg T: +3.9\n"
+ " Alarm:\n"
+ " 0:\n"
+ " t Acc: 0\n"
+ " 1:\n"
+ " t Acc: 0\n"
+ " Int Sensor timeout:\n"
+ " t AccST: 0\n"
+ " Events: 8\n"
+ " Checked:\n"
+ " TS AM: 08:08\n"
+ " 15:\n"
+ " Date: 2022-03-14\n"
+ " Min T: +4.0, TS Min T: 20:45\n"
+ " Max T: +5.3, TS Max T: 09:01\n"
+ " Avrg T: +4.2\n"
+ " Alarm:\n"
+ " 0:\n"
+ " t Acc: 0\n"
+ " 1:\n"
+ " t Acc: 0\n"
+ " Int Sensor timeout:\n"
+ " t AccST: 0\n"
+ " Events: 0\n"
+ " 16:\n"
+ " Date: 2022-03-13\n"
+ " Min T: +4.1, TS Min T: 11:42\n"
+ " Max T: +4.8, TS Max T: 01:32\n"
+ " Avrg T: +4.4\n"
+ " Alarm:\n"
+ " 0:\n"
+ " t Acc: 0\n"
+ " 1:\n"
+ " t Acc: 0\n"
+ " Int Sensor timeout:\n"
+ " t AccST: 0\n"
+ " Events: 0\n"
+ " 17:\n"
+ " Date: 2022-03-12\n"
+ " Min T: +4.1, TS Min T: 14:05\n"
+ " Max T: +4.9, TS Max T: 21:34\n"
+ " Avrg T: +4.6\n"
+ " Alarm:\n"
+ " 0:\n"
+ " t Acc: 0\n"
+ " 1:\n"
+ " t Acc: 0\n"
+ " Int Sensor timeout:\n"
+ " t AccST: 0\n"
+ " Events: 0\n"
+ " 18:\n"
+ " Date: 2022-03-11\n"
+ " Min T: +4.2, TS Min T: 06:22\n"
+ " Max T: +4.9, TS Max T: 15:38\n"
+ " Avrg T: +4.5\n"
+ " Alarm:\n"
+ " 0:\n"
+ " t Acc: 0\n"
+ " 1:\n"
+ " t Acc: 0\n"
+ " Int Sensor timeout:\n"
+ " t AccST: 0\n"
+ " Events: 0\n"
+ " 19:\n"
+ " Date: 2022-03-10\n"
+ " Min T: +3.8, TS Min T: 00:05\n"
+ " Max T: +5.1, TS Max T: 10:27\n"
+ " Avrg T: +4.1\n"
+ " Alarm:\n"
+ " 0:\n"
+ " t Acc: 0\n"
+ " 1:\n"
+ " t Acc: 0\n"
+ " Int Sensor timeout:\n"
+ " t AccST: 0\n"
+ " Events: 0\n"
+ " 20:\n"
+ " Date: 2022-03-09\n"
+ " Min T: +3.3, TS Min T: 06:05\n"
+ " Max T: +4.0, TS Max T: 12:03\n"
+ " Avrg T: +3.6\n"
+ " Alarm:\n"
+ " 0:\n"
+ " t Acc: 0\n"
+ " 1:\n"
+ " t Acc: 0\n"
+ " Int Sensor timeout:\n"
+ " t AccST: 0\n"
+ " Events: 0\n"
+ " 21:\n"
+ " Date: 2022-03-08\n"
+ " Min T: +3.3, TS Min T: 05:16\n"
+ " Max T: +4.1, TS Max T: 08:48\n"
+ " Avrg T: +3.7\n"
+ " Alarm:\n"
+ " 0:\n"
+ " t Acc: 0\n"
+ " 1:\n"
+ " t Acc: 0\n"
+ " Int Sensor timeout:\n"
+ " t AccST: 0\n"
+ " Events: 8\n"
+ " Checked:\n"
+ " TS AM: 08:36\n"
+ " 22:\n"
+ " Date: 2022-03-07\n"
+ " Min T: +3.7, TS Min T: 23:41\n"
+ " Max T: +4.5, TS Max T: 00:00\n"
+ " Avrg T: +4.1\n"
+ " Alarm:\n"
+ " 0:\n"
+ " t Acc: 0\n"
+ " 1:\n"
+ " t Acc: 0\n"
+ " Int Sensor timeout:\n"
+ " t AccST: 0\n"
+ " Events: 0\n"
+ " 23:\n"
+ " Date: 2022-03-06\n"
+ " Min T: +4.0, TS Min T: 04:03\n"
+ " Max T: +7.1, TS Max T: 08:54\n"
+ " Avrg T: +4.5\n"
+ " Alarm:\n"
+ " 0:\n"
+ " t Acc: 0\n"
+ " 1:\n"
+ " t Acc: 0\n"
+ " Int Sensor timeout:\n"
+ " t AccST: 0\n"
+ " Events: 8\n"
+ " Checked:\n"
+ " TS AM: 08:43\n"
+ " 24:\n"
+ " Date: 2022-03-05\n"
+ " Min T: +4.3, TS Min T: 23:23\n"
+ " Max T: +14.9, TS Max T: 11:23\n"
+ " Avrg T: +5.0\n"
+ " Alarm:\n"
+ " 0:\n"
+ " t Acc: 0\n"
+ " 1:\n"
+ " t Acc: 31\n"
+ " Int Sensor timeout:\n"
+ " t AccST: 0\n"
+ " Events: 24\n"
+ " Checked:\n"
+ " TS AM: 11:09\n"
+ " TS PM: 12:45\n"
+ "Cert:\n"
+ " Vers: 1.0\n"
+ " Lot: 1792_20_08\n"
+ " Issuer: Berlinger & Co. AG\n"
+ " Valid from: 2020-08-21 07:39\n"
+ " Owner: Berlinger & Co. AG\n"
+ " Public Key: d73cd26b379bd0a250d98498e15c739ab53594e9768b247a0713637cba30e474b4fcc1aae45f30ec7cc878c102cf9648d775670d2f93b48726a0f21d3ca71074\n"
+ "Sig Cert: 6eef7b154b51a1f4a4186e76b495d43dc25cedbaab8b18486895df5d773530795679b8aa3678e511e45e28cb894bcc051dd90d13f19f699c4f42b46c4ed5d621\n"
+ "Sig: ec3ca65a802abce36aacf3e12679075acf05c8f55586e79c16a489c59ac4f3b975f34b4d1596a2083a31b1f6172bcca388463a95e4f2ed63bdc5808433fb6820\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