que estoy tratando de hacer una prueba para comprobar si una entrada sys.argv coincide con la expresión regular para una dirección IP ...El uso de una expresión regular para que coincida con las direcciones IP en Python
Como una prueba simple, tengo el siguiente ...
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"
Sin embargo cuando pase valores aleatorios en él, devuelve "dirección IP aceptable" en la mayoría de los casos, excepto cuando tenga una "dirección" que es básicamente equivalente a \d+
.
¿Está dispuesto a aceptar el 999.999.999.999 como dirección IP "válida"? :) –
IPv4 solamente; no IPv6? – belacqua
Ver http://stackoverflow.com/questions/319279/how-to-validate-ip-address-in-python?lq=1 y http://stackoverflow.com/questions/10191442/check-hostnames-and- ip-addresses-v4-and-v6-using-a-single-python-regex? rq = 1 – belacqua