Im trying to validate the input to see if it a valid IP address(could be a partial one).
Acceptable input : 172, 172.112, 172.112.113, 172.112.113.114
Unacceptable input: 1724,172.11113 etc etc
Heres a function that I created to check it (however it validates unacceptable input like 1724 which I cant seem to fix..please help)
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}[DW]*)'
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
I feel like maybe I need to use anchors properly? Ive tried everything to my best knowledge, any help would be appreciated.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…