Исходный код domain.value_objects.ip_address

from dataclasses import dataclass
import re


[документация] @dataclass(frozen=True) class IpAddress: '''Value object representing an IPv4 address.''' value: str def __post_init__(self): if not self.is_valid(self.value): raise ValueError(f"Invalid IP address: {self.value}")
[документация] def is_valid(self, ip: str) -> bool: '''Validate the IPv4 address format.''' ipv4_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]?)$' return bool(re.match(ipv4_pattern, ip))