Python 正则表达式匹配 IPv6 地址
Python 正则表达式匹配 IPv6 地址
本文介绍如何使用 Python 正则表达式匹配 IPv6 地址,并提供示例代码。
import re
def is_ipv6(address):
'判断是否为IPv6地址'
pattern = r'^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$'
return bool(re.match(pattern, address))
该代码使用 re.match() 方法匹配 IPv6 地址,其中 pattern 为正则表达式,用于匹配 IPv6 地址的格式。
使用方法:
print(is_ipv6('2001:0db8:85a3:0000:0000:8a2e:0370:7334')) # True
print(is_ipv6('192.168.1.1')) # False
代码解释:
r'^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$':这是一个正则表达式,匹配 IPv6 地址的格式。^:匹配字符串开头。[0-9a-fA-F]{1,4}:匹配 1 到 4 个十六进制字符。::匹配冒号。{7}:匹配前面 7 个子表达式。[0-9a-fA-F]{1,4}$:匹配 1 到 4 个十六进制字符,并匹配字符串结尾。
re.match(pattern, address):使用正则表达式匹配字符串,如果匹配成功,返回匹配对象,否则返回None。bool(re.match(pattern, address)):如果匹配对象存在,返回True,否则返回False。
通过该代码,我们可以轻松地判断一个字符串是否为 IPv6 地址。
原文地址: https://www.cveoy.top/t/topic/oOAq 著作权归作者所有。请勿转载和采集!