import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(?<dong>[가-힣0-9.]+[0-9]{0,2}[읍|면|동|가])\\s(?<ri>[가-힣0-9()]+리(?:\\([一-龥]+\\))?)?(?:[가-힣a-zA-Z0-9\\s]*?)?\\b(?<mountain>산|산 )?(?<num1>[0-9]{1,4})(?:-)?(?<num2>[0-9]{1,4})?\\b";
final String string = "울산동구방어동306 -17 번지 휴레지던트405 호\n"
+ "울산광역시 동구 방어동 306-17\n"
+ "울산남구무거동1464 -9 번지 아름빌201 호\n"
+ "울산광역시 남구 무거동 1464-9\n"
+ "인천시 옹진군 덕적면 진리 170 -0\n"
+ "인천광역시 옹진군 덕적면 진리 170\n"
+ "경기안산시 단원구초지동737 -0번지 그린빌주공7단지 115동 111호\n"
+ "경기도 안산시 단원구 초지동 737\n"
+ "경남창원시 성산구상남동45 -1 번지 성원5단지아파트509동1006호\n"
+ "경상남도 창원시 성산구 상남동 45-1\n"
+ "경남김해시구산동576 -0 번지 한라비발디아파트111 동904 호\n"
+ "경상남도 김해시 구산동 576\n"
+ "경상북도포항남구송도동489 -1 번지\n"
+ "경상북도 포항시 남구 송도동 489-1\n"
+ "부산광역시 부산진구 부전동 503-15 롯데백화점 1층\n"
+ "부산광역시 부산진구 부전동 503-15\n"
+ "서울특별시 종로구 신문로 1가 58-38 동원빌딩 202\n"
+ "서울특별시 종로구 신문로1가 58-38\n"
+ "경남창원시 마산회원구내서읍 중리338 -1 번지 현대아파트109 동904 호\n"
+ "경상남도 창원시 마산회원구 내서읍 중리 338-1\n"
+ "경상남도창원시마산회원구 내서읍 중리338 -1 번지 현대아파트104 동803 호\n"
+ "경상남도 창원시 마산회원구 내서읍 중리 338-1\n"
+ "서울특별시강남구서울 강남구 신사동 555-32\n"
+ "서울특별시 강남구 신사동 555-32\n"
+ "부산 부산진구 범천2동 산 44-147 단독주택\n"
+ "부산광역시 부산진구 범천2동 산44-147\n"
+ "서울특별시 중랑구 면목본동 1526남청파인힐아파트 101 606호\n"
+ "서울특별시 중랑구 면목본동 1526\n"
+ "서울시 중랑구 면목본동 1199번지2층\n"
+ "서울특별시 중랑구 면목본동 1199\n"
+ "경상북도 경산시 하양읍 부호리 391-2 다정하숙 A동 304호\n"
+ "경상북도 경산시 하양읍 부호리 391-2\n"
+ "전라남도 목포죽교동 582-73\n"
+ "전라남도 목포시 죽교동 582-73\n"
+ "대전광역시 서구 갈마1동 코아건축적산 263-29 203호\n"
+ "대전광역시 서구 갈마1동 263-29\n"
+ "경기도 안산시 단원구 와동 (와동) 강서팰리스 825-4번지 강서팰리스401호\n"
+ "경기도 안산시 단원구 와동 825-4\n"
+ "부산광역시 해운대구광역시 좌동 1473-1 대림아크로텔 2033호//\n"
+ "부산광역시 해운대구 좌동 1473-1\n"
+ "서울특별시 마포구 창전동 443 해모로아파트 01053110711 105동 1603호\n"
+ "서울특별시 마포구 창전동 443\n"
+ "서울특별시 강남구 삼성동 141 성원빌딩 지하1층 지하철연결통로로 오셔서 전화주세요/01022580009 4층\n"
+ "서울특별시 강남구 삼성동 141\n"
+ "충청북도 청주시 상당구 금천동 287 실주소 //남문로 1가 53 트레비앙 1202호\n"
+ "충청북도 청주시 상당구 금천동 287\n"
+ "경기도부천시중동178178 번지 위브더스테이트 1109-2 위브더스테이트 301동 1702 층\n"
+ "경기도 부천시 중동 178\n"
+ "서울마포구창전동6 -29 번지 404 호\n"
+ "서울특별시 마포구 창전동 6-29\n"
+ "서울특별시 강동구 성내동 244-3 * 길동점 매장요청빌 실주소:길동 410-1 302호\n"
+ "서울특별시 강동구 성내동 244-3\n"
+ "부산 부산진구 부암동 부산서면 동문굿모닝힐 735-0 101동 505호\n"
+ "부산광역시 부산진구 부암동 735\n"
+ "대구광역시 서구 비산2.3동 2311 01028014911 2층\n"
+ "대구광역시 서구 비산2.3동 2311\n"
+ "충청북도 충주시 칠금.금릉동 1015 부영2차아파트203-605\n"
+ "충청북도 충주시 칠금.금릉동 1015\n"
+ "경기고양시 일산서구대화동2267 -2 번지 /호수로856번길 56-30 3층 층\n"
+ "경기도 고양시 일산서구 대화동 2267-2\n"
+ "경상북도 포항시 북구 양덕동 785-1 포항장량lh천년나무6단지아파트 | 장량중앙로100번길 21 포항장량LH천년나무6단지아파트 602-802 | 경상북도 포항시 북구 양덕동 장량중앙로100번길 1 포항장량LH천년나무6단지아파트 602-802\n"
+ "서울특별시 용산구 한강로2가 98-3 태화빌딩 한강로2가98-2 301호\n"
+ "서울특별시 용산구 한강로2가 98-3\n"
+ "서울특별시 구로구 구로동 98-7 해담채 1401호/구로중앙로18길31\n"
+ "서울특별시 구로구 구로동 98-7\n"
+ "경기도 수원시 장안구 송죽동 (송죽동) 월드타워 5층 501-1호\n"
+ "경기도 수원시 장안구 송죽동 501-1\n"
+ "서울특별시 마포구 중동 129 -가우디빌라 601호\n"
+ "서울특별시 마포구 중동 129\n"
+ "경기 안산시 단원구 고잔동 무진빌라3차 661-2 103동404호\n"
+ "경기도 안산시 단원구 고잔동 661-2\n"
+ "충청북도 청주시 흥덕구 복대동 2773 -202호 #123456\n"
+ "충청북도 청주시 흥덕구 복대동 2773-202\n"
+ "충청남도 천안시 동남구 신부동 776 챌로202\n"
+ "충청남도 천안시 동남구 신부동 776\n"
+ "서울특별시 구로구 구로동 611-26 오퍼스1 511호/구로중앙로207\n"
+ "서울특별시 구로구 구로동 611-26\n"
+ "서울특별시 용산구 이촌동 오퍼스1 300-322 (국제부동산)\n"
+ "서울특별시 용산구 이촌동 300-322\n"
+ "서울특별시 서대문구 미근동 215 충정로3가189-8 미동아파트810\n"
+ "서울특별시 서대문구 미근동 215\n"
+ "서울특별시성동구성수1가2동656 -681 번지\n"
+ "서울특별시 성동구 성수1가2동 656-681\n"
+ "부산광역시동래구부산 동래구 수안동 268-27\n"
+ "부산광역시 동래구 수안동 268-27\n"
+ "광주광역시북구광주 북구 신안동 225-5 베르디움\n"
+ "광주광역시 북구 신안동 225-5\n"
+ "전라남도여수시전남 여수시 학동 20-19\n"
+ "전라남도 여수시 학동 20-19\n"
+ "서울특별시 중랑구 면목3.8동 5-3 무지개빌라 403호\n"
+ "서울특별시 중랑구 면목3.8동 5-3\n"
+ "서울 구로구 구로동 429-156 구로2동 429-156번지 3층\n"
+ "서울특별시 구로구 구로동 429-156\n"
+ "경기 안산시 단원구 선부동 공작한양아파트 121동 1085-0 121동 1202호\n"
+ "경기도 안산시 단원구 선부동 1085\n"
+ "서울특별시서초구잠원동 한신아파트 11차 320동 302호61 -0 번지 신반포한신아파트320 동302 호\n"
+ "서울특별시 서초구 잠원동 61\n"
+ "서울특별시 중랑구 면목3.8동 30-21 101호\n"
+ "서울특별시 중랑구 면목3.8동 30-21\n"
+ "서울특별시 강동구 천호2동 339-12 호 201호\n"
+ "서울특별시 강동구 천호2동 339-12\n"
+ "서울특별시서초구잠원 동 41 -0 번지 1층 층102 호\n"
+ "서울특별시 서초구 잠원동 41\n"
+ "대구 수성구 황금동 캐슬골드파크5단지 369-0 1506-1703\n"
+ "대구광역시 수성구 황금동 369\n"
+ "서울 송파구 잠실동 잠실주공5단지아파트 521동 27-0 521동1102호\n"
+ "서울특별시 송파구 잠실동 27\n"
+ "충청남도천안시쌍용동 주공9단지65 -0 번지 주공9단지아파트404 동704 호\n"
+ "충청남도 천안시 쌍용동 65\n"
+ "서울 서초구 반포1동 : [상세주소] 반포동 717-13번지 B01호\n"
+ "서울특별시 서초구 반포동 717-13\n"
+ "광주 북구 문흥1동 : [상세주소] 문흥동 186-12번지 203호\n"
+ "광주광역시 북구 문흥동 186-12\n"
+ "서울 관악구 신림동 (구 신림5동) : [상세주소] 신림동 1433-55 프라비다트라움 1006호\n"
+ "서울특별시 관악구 신림동 1433-55\n"
+ "경상남도 사천시 정동면 고읍리 469-1 대흥그랜저맨션 다동1108호 16층\n"
+ "경상남도 사천시 정동면 고읍리 469-1\n"
+ "대구광역시 달성군 유가읍 쌍계리 633 대구테크노폴리스중흥에스-클래스포디움 1306동 602호\n"
+ "대구광역시 달성군 유가읍 쌍계리 633\n"
+ "경기도 하남시 망월동 1162 미사강변 골든 센트로(GOLDEN CENTRO) 2802-1302\n"
+ "경기도 하남시 망월동 1162\n"
+ "울산광역시 남구 신정동 1890 문수로2차아이파크2단지 204동 1203호\n"
+ "울산광역시 남구 신정동 1890\n"
+ "경북 경산시 진량읍 평사리(平沙) 69 1동1호(지하)\n"
+ "경상북도 경산시 진량읍 평사리(平沙) 69\n"
+ "경북 경산시 진량읍 평사리(坪沙) 69 1동1호(지하)\n"
+ "경상북도 경산시 진량읍 평사리(坪沙) 69\n"
+ "충청남도 아산시 배방읍 (배방읍) 장재리 1690 202호 읍읍 (읍읍) 배방1읍 (배방1읍)\n"
+ "충청남도 아산시 배방읍 장재리 1690";
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