Cómo funciona el patrón
| Parte | Significado |
|---|---|
25[0-5] | 250–255 |
2[0-4]\d | 200–249 |
1\d\d | 100–199 |
[1-9]?\d | 0–99, sin cero inicial |
(?:…\.){3} | Tres números, cada uno seguido de un punto |
(?:…)$ | El cuarto número, y después el final de la cadena |
Ejemplos de código
JavaScript
const re = /^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/;
re.test(value); // true or falsePython
import re
bool(re.fullmatch(r'(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)', value))PHP
preg_match('/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/', $value) === 1;
Notas y limitaciones
Cada octeto se comprueba que esté entre 0 y 255, algo que un patrón simple \d{1,3} no puede hacer. Los ceros iniciales se rechazan porque algunos sistemas los interpretan como octal. Para aceptar la notación CIDR, añade (?:\/(?:3[0-2]|[12]?\d))? antes de $.
Probador de expresiones regulares
Escribe un patrón y observa cómo se resaltan las coincidencias en tiempo real en tu texto de prueba.