[python] 정규표현식을 이용한 도메인 형식인 문자열 검증

개요

이번 포스트에서는 Python의 re 모듈을 활용하여 문자열이 도메인 형식에 맞는지 검증하는 방법에 대해 알아보겠습니다. 도메인 형식은 일반적으로 example.com과 같이 서브도메인, 도메인 이름, 확장자로 이루어진 문자열입니다. 이런 형식을 갖춘 문자열을 검증하기 위해 정규표현식을 사용할 수 있습니다.

정규표현식 정의

도메인 형식을 검증하기 위해 다음과 같은 정규표현식을 사용할 수 있습니다.

import re

pattern = re.compile(r'^[a-zA-Z0-9]+(\.[a-zA-Z0-9]+)*\.[a-zA-Z]{2,}$')

위의 정규표현식은 다음과 같은 패턴을 갖습니다.

문자열 검증

정규표현식을 사용하여 문자열을 검증하기 위해 다음과 같은 함수를 정의할 수 있습니다.

def is_valid_domain(domain):
    return True if pattern.match(domain) else False

위의 함수는 주어진 도메인이 정규표현식 패턴과 일치하는지 확인하고, 일치하는 경우 True를 반환하고 일치하지 않는 경우 False를 반환합니다.

사용 예시

이제 해당 함수를 사용하여 문자열을 검증해보겠습니다.

valid_domain = "example.com"
invalid_domain = "invalid#$domain"

print(is_valid_domain(valid_domain))    # Output: True
print(is_valid_domain(invalid_domain))  # Output: False

위의 예시에서 valid_domain은 도메인 형식에 맞으므로 True가 출력되지만, invalid_domain은 도메인 형식에 맞지 않으므로 False가 출력됩니다.

마치며

이번 포스트에서는 Python의 정규표현식을 사용하여 도메인 형식인 문자열을 검증하는 방법을 소개했습니다. 정규표현식을 활용하면 간편하게 문자열을 검증할 수 있으며, 도메인 형식 외에 다양한 형식의 문자열을 검증할 수 있다는 점을 기억해두시기 바랍니다.

참고 자료