📅  最后修改于: 2023-12-03 15:28:58.885000             🧑  作者: Mango
如果您需要验证一个IP地址的正确性,您可以使用以下程序进行验证。IP地址是由四个数字组成,每个数字的范围为0到255,每个数字之间用“.”分隔。
import re
def is_valid_ip_address(ip_string):
"""
检查IP地址的合法性
Args:
ip_string -- IP地址字符串
Returns:
如果合法,则返回True,否则返回False
"""
# 正则表达式规则匹配
regex = re.compile(r'^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$')
matches = regex.findall(ip_string)
# 确保我们有4个数字的列表
if len(matches) != 1:
return False
# 检查每个数字是否在0到255之间
for match in matches[0]:
if int(match) < 0 or int(match) > 255:
return False
return True
此程序使用正则表达式来检查IP地址字符串的格式是否正确,然后检查每个数字是否在0到255之间。如果IP地址的格式不正确或者其中一个数字不在0到255之间,则被认为是无效的IP地址。程序返回True,表示IP地址是有效的,否则返回False,表示IP地址无效。
以下是使用此程序的示例:
assert is_valid_ip_address('192.168.0.1') == True
assert is_valid_ip_address('255.255.255.0') == True
assert is_valid_ip_address('172.16.0.0') == True
assert is_valid_ip_address('300.32.1.1') == False
assert is_valid_ip_address('192.168.0.1.1') == False
assert is_valid_ip_address('192.168.0') == False
在这个例子中,我们检查了一些IP地址字符串是否有效,并使用assert语句来检查程序是否返回了正确的结果。