Próbuję wykonać test w celu sprawdzenia, czy wejście sys.argv mecze regex adresu IP ...Korzystanie regex pasujące do adresów IP w Pythonie
Jako prosty test, mam następujących ...
import re
pat = re.compile("\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}")
test = pat.match(hostIP)
if test:
print "Acceptable ip address"
else:
print "Unacceptable ip address"
jednak kiedy mijam losowych wartości do niej wraca „Dopuszczalny adres IP” w większości przypadków, z wyjątkiem, gdy mam „adres”, który jest w zasadzie równoważne \d+
.
Czy chcesz zaakceptować 999.999.999.999 jako "prawidłowy" adres IP? :) –
Tylko IPv4; bez IPv6? – belacqua
Zobacz http://stackoverflow.com/questions/319279/how-to-validate-ip-address-in-python?lq=1 i http://stackoverflow.com/questions/10191442/check-hostnames-and- ip-addresses-v4-and-v6-using-a-single-python-regex? rq = 1 – belacqua