【发布时间】:2012-01-06 08:23:45
【问题描述】:
我正在尝试验证输入以查看它是否是有效的 IP 地址(可能是部分 IP 地址)。
可接受的输入:172、172.112、172.112.113、172.112.113.114
不可接受的输入:1724,172.11113 等
这是我为检查它而创建的一个函数(但它会验证像 1724 这样我似乎无法修复的不可接受的输入......请帮助)
def ipcheck(ip):
ippattern_str = '(([1-2]?[\d]{1,2}\.?){0,1}(\.[1-2]?[\d]{1,2}){0,1}(\.[1-2]?[\d]{1,2}\.){0,1}(([1-2]?[\d]{1,2}[\D\W]*)'
ippattern = re.compile(ippattern_str)
# ippattern is now used to call match, passing only the ip string
global matchip
matchip = ippattern.match(ip)
return matchip
ip = sys.argv[1]
ipcheck(ip)
print matchip
我觉得我可能需要正确使用锚点?我已经尽我所能尝试了一切,任何帮助将不胜感激。
【问题讨论】: