Expresiones regulares·un rango IPv4 privado

un rango IPv4 privado

Coincide con un rango IPv4 privado. Está anclado en ambos extremos, así que debe coincidir la cadena entera. Tiene 2 grupos de captura.

Patrón
/^(10\.\d{1,3}\.\d{1,3}\.\d{1,3}|192\.168\.\d{1,3}\.\d{1,3}|172\.(1[6-9]|2\d|3[01])\.\d{1,3}\.\d{1,3})$/
Alcance
la cadena entera
Grupos de captura
2
Lo que captura en el primer ejemplo
10.0.0.1

Pruébalo

Escribe cualquier texto y se marcará lo que captura la expresión. Todo ocurre en tu navegador y no se envía a ninguna parte.

10.0.0.1

1 coincidencia

Ejemplos que coinciden

  • 10.0.0.1
  • 192.168.1.1
  • 172.20.5.4

Ejemplos que no coinciden

  • 8.8.8.8
  • 172.15.0.1
  • 172.32.0.1

Otras expresiones del grupo

Cómo leerlo

  • Con ^ y $ alrededor, debe coincidir la cadena entera; sin ellos, la coincidencia puede estar en cualquier parte. Ancla siempre lo que uses para validar.
  • Los paréntesis ( ) capturan lo que envuelven. Si solo necesitas agrupar, escribe (?: ) para que no se desplace la numeración.
  • Cada expresión de aquí se comprueba con sus ejemplos. Aun así, "parece un correo" y "es un buzón real" son cosas distintas.
  • Las repeticiones abiertas anidadas como (a+)+ pueden dispararse con ciertas entradas. Busca esa forma antes de pegar una expresión ajena.

Preguntas frecuentes

Q. ¿Cuál es la regex para un rango IPv4 privado?

^(10\.\d{1,3}\.\d{1,3}\.\d{1,3}|192\.168\.\d{1,3}\.\d{1,3}|172\.(1[6-9]|2\d|3[01])\.\d{1,3}\.\d{1,3})$.

Q. ¿Qué cadenas coinciden?

Un texto como 10.0.0.1 coincide; uno como 8.8.8.8 no.

Q. ¿Debe coincidir la cadena entera?

Sí. Va entre ^ y $, así que solo pasa una coincidencia completa.

Q. ¿Cómo uso lo capturado?

Hay 2 grupos de captura, así que puedes leerlos desde match[1].