import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^[0-9]*([а-яА-Яё\\,\\. \\(\\)\\-]+([0-9]+)?)+";
final String string = "деревня Николо-Хованское, 217, поселение Сосенское, Москва\n"
+ "улица Алымова 5\n"
+ "Улица Народного Ополчения 45 (со стороны д. 47)\n"
+ "Ул. Большая Филёвская, д. 3, к. 4\n"
+ "Большая Филевская 3к4, подъезд 3\n"
+ "Большая филевска улица д3к4\n"
+ "Большая Филевская 3к4\n"
+ "Большая Филёвская 3к4\n"
+ "Большая филевская 3к4\n"
+ "Большая Филевская 3к4\n"
+ "Большая Филевская дом 3 корпус 4 , 3 подъезд\n"
+ "Большая Филевская 3к4\n"
+ "Большая Филевская 3к4\n"
+ "Большая Филевская 3к4\n"
+ "Врачебный проезд 3\n"
+ "Парковка рядом с домами ул. Коптевская, д. 20к2 и ул. Коптевская, д. 18Ак3\n"
+ "Улица Планерная 12\n"
+ "деревня Николо-Хованское, 200соор1, поселение Сосенское, Москва\n"
+ "Улица 1905 года 25\n"
+ "2\n"
+ "Большая Филевская, дом 3, корпус 4\n"
+ "Погонный проезд 12к1\n"
+ "Москва, поселение Первомайское, д. Каменка, ул. Кленовая, д.1А, стр.1\n"
+ "Большая Филевская 3 кор 4, подъезд 3\n"
+ "Ул.Новочеремушкинская д.31\n"
+ "Новопесчаная д2А\n"
+ "Большая Якиманка 52 двор\n"
+ "сельскохозяйственная ул 20, к 2\n"
+ "Сельскохозяйственная 20 к3\n"
+ "Сельскохозяйственная 20к2\n"
+ "Кронштадтский бульвар, парковочные карманы вдоль владения 6 (порядка 300 м)\n"
+ "Плющиха 9 стр 2\n"
+ "Руставели 15б\n"
+ "1\n"
+ "Весенняя д. 4\n"
+ "Москва, Поселение Новофедоровское, квартал 180. Координаты: 55.448734, 36.977061\n"
+ "1\n\n"
+ "1\n"
+ "Погонный проезд, 12к1\n"
+ "Погонный проезд, 12к1\n"
+ "Ул. Раздельная\n"
+ "Деревня Саларьево улица 1-Ая Новая д 7/2 кадастровый номер 77:17:0110301:336\n"
+ "12-я парковая 5 и 12-я парковая 7\n"
+ "Алтуфьевское шоссе 27 напротив тц лучик\n"
+ "Алтуфьевское шоссе 27 вначале дома\n"
+ "Сумской проезд 12/5\n"
+ "Погонный проезд, 12к1\n"
+ "4\n"
+ "Беговая 4\n"
+ "Цветной бульвар дом 21стр.1\n"
+ "Ул Василия Петушкова 20, к.1\n"
+ "Москва, улица Первомайская, дом 100\n"
+ "Ул. Раздельная\n"
+ "Город Москва, улица Мясницкая, дом 22, строение 1. Вход во двор со стороны Банковского переулка.\n"
+ "Воронцовская 26\n"
+ "Чусовская улица 17/40\n"
+ "Героев Панфиловцев 17 к2\n"
+ "Спартаковский переулок 24с2\n"
+ "Красных зорь 33а\n"
+ "Берсеневская набережная, 14с5\n"
+ "Проезд Черского 21б\n"
+ "Героев Панфиловцев 17 к2\n"
+ "Проезд Шокальского, 15\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