不使用正则表达式的方式:
def is_ip(ip: str) -> bool:
return True if [True] * 4 == [x.isdigit() and 0 <= int(x) <= 255 for x in ip.split(".")] else False
使用正则表达式的方式
import re
def isIP(str):
p = re.compile('^((25[0-5]|2[0-4]d|[01]?dd?).){3}(25[0-5]|2[0-4]d|[01]?dd?)$')
if p.match(str):
return True
else:
return False
另一种
def checkip(hostip):
pat = re.compile(r'([0-9]{1,3}).')
r = re.findall(pat,hostip+".")
if len(r)==4 and len([x for x in r if int(x)>=0 and int(x)<=255])==4:
return True
else:
return False