>  기사  >  백엔드 개발  >  IP 주소 일치를 위해 Python 정규식을 사용하는 방법

IP 주소 일치를 위해 Python 정규식을 사용하는 방법

王林
王林원래의
2023-06-22 16:05:564411검색

정규식은 특정 형식의 문자열을 식별하고 일치시키는 데 사용할 수 있는 강력한 문자 일치 도구입니다. 네트워크 프로그래밍에서 IP 주소는 매우 중요한 개념이므로 Python에서 IP 주소 일치를 위해 정규식을 사용하는 것은 매우 필요하고 실용적인 기술입니다. 이 기사에서는 IP 주소 일치를 위해 Python 정규식을 사용하는 방법을 소개합니다.

  1. 기본 IP 주소 매칭 표현

IP 주소는 4개의 숫자로 구성되며 각 숫자의 범위는 0~255입니다. 따라서 기본 IP 주소 일치 표현식은 다음과 같이 작성할 수 있습니다.

import re

ip_pattern = r'(d{1,3}.){3}d{1,3}'

이 표현식은 4개의 숫자 필드로 구성된 IP 주소를 일치시키는 것을 의미합니다. 각 숫자 필드는 1~3자리 숫자로 구성되며 숫자 필드 사이는 점으로 구분됩니다.

이 표현식에서는 정규식의 몇 가지 기본 구문을 사용합니다.

  • d: 숫자 일치
  • {n,m}: 이전 패턴을 n에서 m번까지 일치
  • .: 점 일치
  1. 자세한 일치 of IP address

위 표현식은 대부분의 IP 주소와 일치할 수 있지만 IP 주소 번호 필드의 값 범위가 0에서 255 사이여야 한다는 점을 고려하지 않습니다. 이 문제를 해결하려면 각 숫자 필드를 개별적으로 일치시키고 정규식 그룹화 메커니즘을 사용하여 이를 제한해야 합니다.

ip_pattern = r'((25[0-5]|2[0-4]d|[01]?dd?).){3}(25[0-5]|2[0-4]d|[01]?dd?)'

이 표현식에서는 각 숫자 필드를 개별적으로 일치시킵니다. 여기서:

  • 25[0-5]: 250에서 255 사이의 숫자 일치
  • 2[0-4]d: 200에서 249 사이의 숫자 일치
  • [01]?dd?: 0에서 199 사이의 숫자(1자리 또는 2자리일 수 있음)와 일치합니다.

이 표현식은 각 숫자 필드에서 그룹화 메커니즘을 사용합니다. 괄호로 묶인 하위 표현식은 표현식에 사용되어 그룹화임을 나타냅니다. . 또한 전체 표현식 끝에는 전체 IP 주소가 4개의 숫자 필드로 구성되어 있음을 나타내는 그룹이 있습니다. 이러한 방식으로 각 숫자 필드의 값 범위를 제한합니다.

  1. IPv6 주소 일치

IPv4 주소 외에도 콜론으로 구분된 8개의 16진수(각 숫자는 1~4개의 16진수를 가질 수 있음)로 구성된 IPv6 주소도 있습니다. IPv6 주소의 정규 표현식은 다음과 같이 작성할 수 있습니다.

ipv6_pattern = r'[a-fA-F0-9]{1,4}(:[a-fA-F0-9]{1,4}){7}'

이 표현식은 8개의 16진수 숫자로 구성된 IPv6 주소를 일치시킨다는 의미입니다. 각 숫자는 콜론으로 구분되어 1~4개의 16진수 숫자를 가질 수 있습니다.

요약

Python 정규 표현식을 사용하면 IP 주소 일치를 포함한 다양한 문자 일치 문제를 처리할 수 있습니다. IP 주소를 처리할 때 숫자 필드의 값 범위를 고려하고 그룹화 메커니즘을 사용하여 이를 제한해야 합니다. IPv4 주소 외에도 8개의 16진수 숫자로 구성되고 유사한 정규식을 사용하여 일치시킬 수 있는 IPv6 주소도 있습니다.

위 내용은 IP 주소 일치를 위해 Python 정규식을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.