import re
# 정규식 패턴
address_pattern = r'\b([가-힣]+(시|도))?\s*([가-힣]+(시|군|구))\s*([가-힣]+(읍|면|동|리))?\s*([가-힣]*[로길])\s*(\d{1,5}(-\d{1,4})?)\b'
# 테스트할 주소 리스트
addresses = ['서울특별시 강남구 역삼동 123-45', '경기도 수원시 권선구 호매실동 456', '부산광역시 동구 수정동 789-10']
# 주소 필터링
filtered_addresses = []
for address in addresses:
match = re.search(address_pattern, address)
if match:
filtered_addresses.append(match.group(0))
# 필터링된 주소 출력
print(filtered_addresses)
위 코드는 다음과 같은 한국 주소 패턴을 필터링합니다.
- 주소의 첫 번째 부분은 "시" 또는 "도"로 끝나는 1~2자리의 한글 문자열입니다.
- 주소의 두 번째 부분은 "시", "군", "구" 중 하나로 끝나는 2~4자리의 한글 문자열입니다.
- 주소의 세 번째 부분은 "읍", "면", "동", "리" 중 하나로 끝나는 2~4자리의 한글 문자열입니다.
- 주소의 네 번째 부분은 "로" 또는 "길"로 끝나는 1~3자리의 한글 문자열입니다.
- 주소의 다섯 번째 부분은 1~5자리의 숫자와 "-"로 이루어진 문자열입니다. (선택사항)
'개발 기록 > python' 카테고리의 다른 글
AES 암호화 복호화 (0) | 2023.06.07 |
---|---|
[Python] 오늘 기준 N개월 전 날짜 반환 함수 (0) | 2023.04.11 |
[Python] 다중시트 엑셀 그대로 복사 및 저장 (0) | 2023.03.29 |
[Python]xlwings(xw)로 엑셀파일 다루기 (0) | 2023.03.16 |
[Python] 파이썬 실행파일 만들기 (0) | 2022.02.06 |
댓글