Extraction des adresses ip

0/5 (9 avis)

Snippet vu 11 408 fois - Téléchargée 16 fois

Contenu du snippet

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

A voir également

Ajouter un commentaire Commentaires
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
1 avril 2009 à 21:06
Une adresse IP telle que 999.999.999.999 serait donc valide ???

Il serait bon aussi de préciser que cette expression n'est valable que pour les adresses IP V4.
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 72
2 avril 2009 à 08:51
tu as parfaitement raison.

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
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
2 avril 2009 à 09:12
Ok, c'est nettement mieux sauf que : 0.0.0.0 est valide !
Je sais, je suis ch...t :)
Bon courage.
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 72
2 avril 2009 à 09:26
valide, oui...
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
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
2 avril 2009 à 09:41
C'est encore moi ! :(
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.