在Python中,判断一个字符串是否是合法的IPv4地址,可以通过以下几种方法:
1. 使用正则表达式:
import redef is_ipv4(ip: str) -> bool:pattern = r'^((25[0-5]|2[0-4][0-9]|[0-1][0-9][0-9]|[1-9][0-9]|[1-9])\.){3}(25[0-5]|2[0-4][0-9]|[0-1][0-9][0-9]|[1-9][0-9]|[1-9])$'return bool(re.match(pattern, ip))print(is_ipv4('192.168.1.255')) 输出:Trueprint(is_ipv4('192.168.1.2a0')) 输出:False
2. 使用字符串分割和列表推导式:
def is_ipv4(ip: str) -> bool:segments = ip.split('.')return all(segment.isdigit() and 0 <= int(segment) <= 255 for segment in segments)print(is_ipv4('192.168.1.255')) 输出:Trueprint(is_ipv4('192.168.1.2a0')) 输出:False
3. 使用内置的`ipaddress`模块(Python 3.3及以后版本):
import ipaddressdef is_ipv4(ip: str) -> bool:try:ipaddress.IPv4Address(ip)return Trueexcept ipaddress.AddressValueError:return Falseprint(is_ipv4('192.168.1.255')) 输出:Trueprint(is_ipv4('192.168.1.2a0')) 输出:False
以上方法都可以用来判断一个字符串是否是合法的IPv4地址。您可以根据自己的需要选择合适的方法
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/82496.html