Expressões regulares·uma faixa IPv4 privada

uma faixa IPv4 privada

Casa com uma faixa IPv4 privada. Está ancorado nas duas pontas, então a cadeia inteira precisa casar. Tem 2 grupos de captura.

Padrão
/^(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
a cadeia inteira
Grupos de captura
2
O que captura no primeiro exemplo
10.0.0.1

Experimente

Digite qualquer texto e as partes capturadas serão marcadas. Tudo roda no seu navegador e nada é enviado.

10.0.0.1

1 correspondência

Exemplos que casam

  • 10.0.0.1
  • 192.168.1.1
  • 172.20.5.4

Exemplos que não casam

  • 8.8.8.8
  • 172.15.0.1
  • 172.32.0.1

Outras expressões do grupo

Como ler

  • Com ^ e $ em volta, a cadeia inteira precisa casar; sem eles, a correspondência pode estar em qualquer lugar. Ancore sempre o que usar para validar.
  • Os parênteses ( ) capturam o que envolvem. Se você só precisa agrupar, escreva (?: ) para a numeração não se deslocar.
  • Cada expressão aqui é conferida com seus exemplos. Ainda assim, "parece um e-mail" e "é uma caixa real" são coisas diferentes.
  • Repetições abertas aninhadas como (a+)+ podem explodir com certas entradas. Procure esse formato antes de colar uma expressão alheia.

Perguntas frequentes

Q. Qual é a regex para uma faixa IPv4 privada?

^(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. Quais cadeias casam?

Um texto como 10.0.0.1 casa; um como 8.8.8.8 não.

Q. A cadeia inteira precisa casar?

Sim. Está entre ^ e $, então só passa uma correspondência completa.

Q. Como uso o que foi capturado?

Há 2 grupos de captura, então dá para ler a partir de match[1].