Vérifier et valider une adresse IP avec les expressions régulières

L'expression régulière suivante vérifie la validité d'une adresse IPv4.

private static final Pattern PATTERN = Pattern.compile(
        "^(([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.){3}([01]?\\d\\d?|2[0-4]\\d|25[0-5])$");

public static boolean validate(final String ip) {
    return PATTERN.matcher(ip).matches();
}

Description:

^  #Début
 (  #  Début du groupe #1
   [01]?\\d\\d? #    Peut être un ou deux chiffres. Si le nombre est supérieur à 100, il doit commencer par un 0 ou 1
  #    ex. ([0-9], [0-9][0-9],[0-1][0-9][0-9])
    |  #    ...ou
   2[0-4]\\d #    commence avec 2, suivi par 0-4 et termine avec n'importe quel chiffre
    |           #    ...ou
   25[0-5]      #    commence avec 2, suivi par 5 et termine avec 0-5
 )  #  fin du groupe #2
  \.            #  suivi par un point "."
....            # répêter 3 fois (3x)
$  #fin




Partager cet article

Voir aussi: