[python] 정규표현식을 이용한 주민등록번호 형식인 문자열 검증

주민등록번호는 대한민국에서 개인을 식별하기 위해 사용되는 고유한 식별번호입니다. 주민등록번호는 총 13자리로 구성되어 있으며, 생년월일과 성별 정보, 지역 정보로 이루어져 있습니다.

주민등록번호 형식을 문자열로 표현한 후, 이를 검증하는 방법 중 하나는 정규표현식을 사용하는 것입니다. 정규표현식은 특정 패턴을 가진 문자열을 검색하거나 추출하는 방법을 제공합니다.

Python에서는 re 모듈을 사용하여 정규표현식을 처리할 수 있습니다. 아래는 정규표현식을 이용하여 주민등록번호 형식인 문자열을 검증하는 예제 코드입니다.

import re

def validate_jumin(jumin):
    pattern = r'^\d{6}-\d{7}$'
    if re.match(pattern, jumin):
        return True
    else:
        return False

# 주민등록번호 검증 예시
jumin1 = '890101-1234567'
jumin2 = '9202021234567'
jumin3 = '990303-abcd5678'

print(validate_jumin(jumin1))  # True
print(validate_jumin(jumin2))  # False
print(validate_jumin(jumin3))  # False

위의 예제 코드에서는 re.match() 함수를 사용하여 주민등록번호 문자열과 정규표현식 패턴을 비교하고, 일치하는지 여부를 확인합니다. ^\d{6}-\d{7}$는 주민등록번호의 형식을 나타내는 정규표현식 패턴입니다.

따라서, ^\d{6}-\d{7}$ 패턴은 6자리 숫자-7자리 숫자 형식을 나타내는 주민등록번호를 검증할 수 있습니다.

위의 예제 코드에서는 주민등록번호인 jumin1은 정규표현식 패턴에 일치하기 때문에 True를 반환하고, jumin2jumin3는 패턴에 일치하지 않기 때문에 False를 반환합니다.

정규표현식을 이용하여 주민등록번호 형식인 문자열을 검증하는 방법을 알아보았습니다. 이를 활용하여 웹 애플리케이션 등에서 사용자 입력값을 검증할 때 유용하게 활용할 수 있습니다.

참고 자료