
Validador de IP con Regex en Python
El Validador de IP con Regex en Python le ayuda a garantizar que cualquier cadena de entrada siga el formato correcto para una dirección IPv4. Es perfecto para usar en configuraciones de servidor, filtros de firewall, validaciones de formularios y herramientas de red. Puede combinarlo con el Validador de Dirección MAC con Regex en Python para filtrado a nivel de dispositivo, o combinarlo con el Validador de UUID con Regex en Python cuando trabaje con identificadores y datos de red.
Validador de IP con Regex en Python - Documentación
¿Qué es una Dirección IP?
Una dirección IP es un identificador único asignado a cada dispositivo en una red. Las direcciones IPv4 usan cuatro números (0-255) separados por puntos, como:
192.168.0.1Para validar este formato, usamos un patrón regex que verifica:
Exactamente cuatro octetos
Cada uno en el rango de 0 a 255
Separadores de punto (.)
Es importante asegurarse de que ninguno de los octetos supere 255. Por ejemplo, mientras 999.168.0.1 coincide con la estructura general, no es una dirección IP válida porque 999 está fuera de rango. Un patrón regex robusto tiene esto en cuenta, garantizando que cada sección sea un número entre 0 y 255.
Patrones Regex Comunes para Direcciones IPv4
Aquí hay expresiones regulares de uso común, cada una con un propósito ligeramente diferente:
Validación simple (solo estructura):
Verifica el formato de puntos correcto pero permite valores como 999.0.0.1, que no son IPs válidas.
Validación precisa (solo valores 0-255):
25[0-5]- coincide con 250-2552[0-4][0-9]- coincide con 200-2491?[0-9]{1,2}- coincide con 0-199El patrón completo garantiza 4 números separados por
.
Patrón Regex para Dirección IP en Python
Aquí hay un regex que valida con precisión las direcciones IPv4 estándar:
^((25[0-5]|2[0-4][0-9]|1?[0-9]{1,2})\.){3}(25[0-5]|2[0-4][0-9]|1?[0-9]{1,2})$Explicación:
25[0-5] - coincide con 250-255
2[0-4][0-9] - coincide con 200-249
1?[0-9]{1,2} - coincide con 0-199
El patrón completo garantiza 4 números separados por .
Compatibilidad de Flavors de Regex
Este patrón funciona sin problemas en las principales implementaciones de regex. Ya sea que use el módulo re de Python, JavaScript, Java, .NET, Perl, PCRE o Ruby, la sintaxis es lo suficientemente universal para validar direcciones IPv4 sin ajustes.
Ejemplo de Código en Python
import redef is_valid_ip(ip): pattern = re.compile( r'^((25[0-5]|2[0-4][0-9]|1?[0-9]{1,2}).){3}' r'(25[0-5]|2[0-4][0-9]|1?[0-9]{1,2})$' ) return bool(pattern.fullmatch(ip))
Entradas de prueba
ips = [ "192.168.0.1", "255.255.255.255", "999.100.100.100", # Inválida "172.16.254.01" ]
for ip in ips: print(f"{ip} -> {is_valid_ip(ip)}")
Diferencia entre re.match() y re.search()
re.match(): Verifica si la expresión regular coincide justo al inicio de la cadena objetivo.
python import re result = re.match(r'\d+', '123abc') print(bool(result)) # Output: True
result = re.match(r'\d+', 'abc123') print(bool(result)) # Output: Falsere.search(): Escanea toda la cadena para encontrar una coincidencia en cualquier parte.
python result = re.search(r'\d+', 'abc123') print(bool(result)) # Output: TrueUse re.match() cuando solo le interesen las coincidencias al inicio de la cadena. Use re.search() si desea encontrar un patrón en cualquier parte de la cadena.
Hacer una Solicitud de API para Validación de IP en Python
import requests
def validateipwithapi(ipaddress, api_key):
url = f"https://api.example.com/validate?ip={ipaddress}&key={api_key}"
try:
response = requests.get(url, timeout=5)
response.raise_for_status()
result = response.json()
return result.get('valid', False)
except requests.exceptions.RequestException as error:
print(f"Error durante la solicitud de API: {error}")
return FalseCasos de Uso
Validación de Formularios: Valide IPs ingresadas por usuarios en aplicaciones web
Reglas de Firewall: Coincida y filtre IPs de red
Configuración de Dispositivos: Valide entradas en paneles locales o basados en la nube
Combínelo con: Validador de Dirección MAC con Regex en Python o Validador de Fecha con Regex en Python para sincronizar IPs con marcas de tiempo
Consejos Profesionales
🔄 Siempre elimine espacios en blanco antes de validar (ip.strip())
🔒 Evite confiar en las validaciones del lado del cliente; valide también en el servidor
🔀 Combínelo con verificaciones de patrón de subred para rangos CIDR
🧠 Úselo en scripts con el Validador de GUID con Regex en Python para rastrear dispositivos en redes
Frequently Asked Questions
¿Este regex valida IPv6?
¿Puede validar IPs en notación CIDR como 192.168.1.0/24?
¿Son válidos los ceros iniciales en los octetos?
¿Puede usarse en Flask o Django?
¿Qué ocurre si la entrada tiene puntos extra u otros caracteres?
Related Articles



¡Pruebe sus APIs hoy!
Escriba en lenguaje natural y Qodex lo convierte en pruebas seguras y listas para ejecutar.



