Aujourd’hui, et après des heures de recherches, j’ai enfin trouvé l’expression régulière qui vérifie que la syntaxe d’une adresse IP est bien formulée…
Sans plus attendre, la voilà :
^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])[.]){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])$
Sa seule limitation, c’est de ne pas vérifier si l’IP fait partie d’une classe d’adresse IP (10.xxx.xxx.xxx, 172.16.xxx.xxx -> 172.31.xxx.xxx et 192.168.xxx.xxx) mais on peut le vérifier simplement par la suite.
moi j’utilise celle ci : if [[ $ip =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then…
elle fait ce que je lui demande bien que je n’ai pas poussé le vice jusqu’au bout non plus