Permet tout simplement d'extraire les adresses IP d'un texte.
Valide:
192.168.0.1 ss
127.0.0.1
10.40.1.10
209.209.209.209
255.12.3.255
7.123.2.23
1.0.0.1
42.21.32.45
Non-valide:
256.10.40.30
1199.1199.1199.119
255.255.255.no-ip
127.0.0.
127-0-0-1
127.0.0.0
0.0.0.1
9994.12.123.124
456.123.456.789
0.0.0.0
Source / Exemple :
\b(?:[1-9]|1?\d{2}|25[0-5]|2[0-4]\d)\.(?:(?:\d|1?\d{2}|25[0-5]|2[0-4]\d)\.){2}(?:[1-9]|1?\d{2}|25[0-5]|2[0-4]\d)\b
1 avril 2009 à 21:06
Il serait bon aussi de préciser que cette expression n'est valable que pour les adresses IP V4.
2 avril 2009 à 08:51
corrigeons:
\b(?:(\d|1*\d{2}|2[0-5]{2})\.){3}(\d|1*\d{2}|2[0-5]{2})\b
Valide:
192.168.0.1 ss
127.0.0.1
10.40.1.10
255.12.3.255
7.123.2.23
Non-valide:
256.10.40.30
255.255.255.no-ip
127.0.0.
127-0-0-1
9994.12.123.124
456.123.456.789
2 avril 2009 à 09:12
Je sais, je suis ch...t :)
Bon courage.
2 avril 2009 à 09:26
si ca choque, on peut utiliser :
\b(?:[1-9]|1*\d{2}|2[0-5]{2})\.(?:(?:\d|1*\d{2}|2[0-5]{2})\.){2}(?:[1-9]|1*\d{2}|2[0-5]{2})\b
Valide:
192.168.0.1 ss
127.0.0.1
10.40.1.10
255.12.3.255
7.123.2.23
1.0.0.1
Non-valide:
256.10.40.30
255.255.255.no-ip
127.0.0.
127-0-0-1
127.0.0.0
0.0.0.1
9994.12.123.124
456.123.456.789
0.0.0.0
2 avril 2009 à 09:41
1199.1199.1199.1199 est validé alors qu'il ne le devrait pas. Si une valeur commence par le chiffre "1", alors elle ne peut être suivie que par deux digits maximum. Or, dans ton expression :
[1-9]|1*\d{2}|2[0-5]{2}
L'astérisque derrière le 1 dans la deuxième alternative permet de mettre autant de 1 que voulu. Il suffit donc de le retirer.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.