正则粉丝们会这么做:
p = re.compile("^((?:(2[0-4]\d)|(25[0-5])|([01]?\d\d?))\.){3}(?:(2[0-4]\d)|(255[0-5])|([01]?\d\d?))$")
猫哥建议——使用Python自带方法,比如Socket里面的inet_aton(),例子程序如下:
import socket
def checkIP(strIP):
try:
socket.inet_aton(strIP)
return True
except socket.error:
return False
但是,此方法也有问题,比如:strIP = "1.2.3" 也会判断true
建议二,使用IPy包,也有小瑕疵。
>>> import IPy
>>> IPy.IP("3.4.5")
IP('3.4.5.0')
截止目前,貌似正则还是比较靠谱的办法。