Методы проверки IP-адреса в Python: регулярные выражения, модуль ipaddress и проверка диапазона

Чтобы проверить IP-адрес в Python, вы можете использовать различные методы. Вот несколько подходов:

Метод 1: использование регулярных выражений
Вы можете использовать регулярные выражения для проверки шаблона IP-адреса. Вот пример:

import re
def validate_ip_address(ip_address):
    pattern = r'^(\d{1,3}\.){3}\d{1,3}$'
    if re.match(pattern, ip_address):
        return True
    else:
        return False
# Example usage
ip = "192.168.0.1"
if validate_ip_address(ip):
    print("Valid IP address")
else:
    print("Invalid IP address")

Метод 2: использование модуля ipaddress
Python предоставляет модуль ipaddress, который предлагает классы для управления и проверки IP-адресов. Вот пример:

import ipaddress
def validate_ip_address(ip_address):
    try:
        ipaddress.ip_address(ip_address)
        return True
    except ValueError:
        return False
# Example usage
ip = "192.168.0.1"
if validate_ip_address(ip):
    print("Valid IP address")
else:
    print("Invalid IP address")

Метод 3: разделение и проверка диапазона
Альтернативный метод включает разделение IP-адреса на октеты и проверку диапазона каждого октета (0–255). Вот пример:

def validate_ip_address(ip_address):
    octets = ip_address.split(".")
    if len(octets) != 4:
        return False
    for octet in octets:
        if not octet.isdigit() or int(octet) < 0 or int(octet) > 255:
            return False
    return True
# Example usage
ip = "192.168.0.1"
if validate_ip_address(ip):
    print("Valid IP address")
else:
    print("Invalid IP address")