J'essaye d'écrire une expression rationnelle qui vérifiera si l'adresse IP est valide ou non.Face problème quand je donne 256 comme valeur il est toujours correspondant à 2, et reg va stocker la valeur comme 1 puisque le motif est apparié.tcl regex correspond à l'adresse IP dans une seule ligne
set ip "256.256.255.1"
set reg [regexp -all{^([1-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]).([1-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]).([1-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]).([1-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])} $ip match ]
puts $reg
Je ne recommanderais pas d'utiliser l'expression régulière pour ce cas. Utiliser une expression régulière réduira réellement les performances. Consultez https://stackoverflow.com/questions/15587213/regex-for-a-number-greater-than-x-and-less-than-y – Tejus