[python] 정규표현식을 이용한 IP 주소 형식인 문자열 검증
IP 주소는 네트워크 상에서 컴퓨터를 식별하기 위해 사용되는 고유한 주소입니다. IP 주소는 보통 “x.x.x.x” 형식으로 표현되며, 각 부분은 0부터 255 사이의 숫자로 구성됩니다. 이번 포스트에서는 파이썬의 정규표현식을 사용하여 주어진 문자열이 IP 주소 형식에 맞는지 검증하는 방법을 알아보겠습니다.
정규표현식 패턴
다음은 IP 주소를 검증하는 정규표현식 패턴입니다.
^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
이 정규표현식은 다음과 같은 구성으로 이루어져 있습니다.
^
: 문자열의 시작을 나타냅니다.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)
: 0부터 255 사이의 숫자를 나타냅니다. 25로 시작하는 숫자, 20~24로 시작하는 두 자리 숫자, 0부터 199까지의 세 자리 숫자를 허용합니다.\.
: 점(.) 문자를 나타냅니다.{3}
: 이전 패턴을 세 번 반복함을 나타냅니다.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)
: 마지막 세 자리 숫자 패턴입니다.$
: 문자열의 끝을 나타냅니다.
파이썬 코드 예제
이제 위의 정규표현식 패턴을 이용하여 IP 주소 형식인 문자열을 검증하는 파이썬 코드를 작성해보겠습니다.
import re
def validate_ip_address(ip_address):
pattern = r'^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$'
if re.match(pattern, ip_address):
return True
else:
return False
위 코드에서 validate_ip_address
함수는 정규표현식 패턴을 이용하여 주어진 문자열이 IP 주소 형식에 맞는지 검증합니다. 함수는 True 또는 False 값을 반환합니다.
예제 사용
ip_address = "192.168.0.1"
if validate_ip_address(ip_address):
print("올바른 IP 주소입니다.")
else:
print("잘못된 IP 주소입니다.")
위의 예제 코드에서는 “192.168.0.1” 이라는 IP 주소가 주어지고, validate_ip_address
함수를 사용하여 해당 IP 주소가 올바른 형식인지 검증합니다.
참고 자료
- 정규표현식 패턴 생성: Python docs - re — Regular expression operations
- 정규표현식 테스트 및 예제: regex101.com
이번 포스트에서는 파이썬의 정규표현식을 이용하여 IP 주소 형식인 문자열을 검증하는 방법을 살펴보았습니다. 정규표현식을 사용하면 간단하고 효율적으로 주어진 문자열이 특정한 패턴을 따르는지 검증할 수 있습니다.