import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(?<!(\\d|\\-))(?<!(\\d\\,))(([012]?[0-9])[\\:]([012345]?[0-9])([\\:]([012345]?[0-9]))?|([012]?[0-9])[\\-]([012345]?[0-9])([\\-]([012345]?[0-9]))?|([012]?[0-9])[\\—]([012345]?[0-9])([\\—]([012345]?[0-9]))?)\\b";
final String string = "09:10 вкл. Л27-7, откл. Р27-7-3(с.Мариинск), бригада работает\n\n"
+ "В 13:20 вкл. Л 27-1\"Беш-Озек\", откл. Р 27-1-5, животноводческие стоянки, осмотр продолжается.\n\n\n\n\n"
+ "Объект: КП-2 ВЛ 6 № 16 Класс напряжения: 6 кВ Тип события: Аварийное Время возникновения события (ур.вр.): 10.01.2016 06:11 Описание работы РЗ и ПА: КП-2, ВЛ 6 № 16, МТЗ, АПВ-О, АВР-нет Причина технологического нарушения: В пр. оп. № 23-1-23-2 замыкание ВЛ в результате падения ветки тополя..\n\n"
+ "Причина срыв вязки оп. 24-01/82.\n\n"
+ "Остается обесточено абонентское ОП 29-1 (абоненты <Асфальтный завод> и <Янтарьлес>).\n\n\n";
final Pattern pattern = Pattern.compile(regex, Pattern.UNICODE_CASE);
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