[python] 정규표현식을 이용한 홈페이지 URL 형식인 문자열 검증

정규표현식(Regular Expression)은 특정한 패턴의 문자열을 검색하거나 대체, 추출하는 데에 유용하게 사용됩니다. 홈페이지 URL은 특정한 형식을 갖고 있기 때문에, 정규표현식을 이용하여 해당 형식의 문자열을 검증할 수 있습니다.

이번 예시에서는 Python의 re 모듈을 사용하여 홈페이지 URL 형식인 문자열을 검증하는 방법을 알아보겠습니다.

1. 정규표현식 패턴 작성

홈페이지 URL 형식인 문자열을 검증하기 위해 다음과 같은 정규표현식 패턴을 작성할 수 있습니다.

^(http[s]?://)?([w]{3}\.)?[a-zA-Z0-9-]+\.[a-zA-Z]{2,}(/[a-zA-Z0-9-]+)*$

2. 정규표현식을 사용한 검증

Python의 re 모듈의 match 함수를 사용하여 문자열을 정규표현식에 매칭시킬 수 있습니다.

import re

def validate_url(url):
    pattern = r"^(http[s]?://)?([w]{3}\.)?[a-zA-Z0-9-]+\.[a-zA-Z]{2,}(/[a-zA-Z0-9-]+)*$"
    if re.match(pattern, url):
        return True
    else:
        return False

위의 예시 코드에서는 validate_url 함수가 주어진 URL을 re.match() 함수를 사용하여 정규표현식 패턴과 일치하는지 검사합니다. 일치하는 경우 True를, 그렇지 않은 경우 False를 반환합니다.

3. 사용 예시

url1 = "https://www.example.com"
print(validate_url(url1))  # True

url2 = "http://example.com/path"
print(validate_url(url2))  # True

url3 = "www.example.com"
print(validate_url(url3))  # True

url4 = "example.com"
print(validate_url(url4))  # False

url5 = "http://example.com/path?query=string"
print(validate_url(url5))  # True

위의 예시에서는 주어진 URL들을 validate_url 함수를 사용하여 검증한 결과를 출력합니다. URL이 정규표현식에 맞는 형식인 경우 True를, 그렇지 않은 경우 False를 반환합니다.

결론

정규표현식을 사용하여 홈페이지 URL 형식인 문자열을 검증하는 방법에 대해 알아보았습니다. 이를 통해 정규표현식을 사용하여 다양한 문자열 패턴을 검증할 수 있습니다.