Extraction des adresses ip

0/5 (9 avis)

Snippet vu 11 042 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
Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
12 août 2009 à 18:14
certes

gaffe, elle autorise:
127.0.0.0
0.0.0.1
0.0.0.0
erreurs404
Messages postés
117
Date d'inscription
lundi 23 octobre 2000
Statut
Membre
Dernière intervention
12 août 2009

12 août 2009 à 16:18
Hello,

dans le temps j'avais trouvé ça, ça paraît plus court, non ?
^((25[0-5]|2[0-4]\d|1?\d?\d)\.){3}(25[0-5]|2[0-4]\d|1?\d?\d)$
cs_Delphiprog
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Membre
Dernière intervention
9 janvier 2013
31
2 avril 2009 à 18:05
Oui, excellente idée. Bon, c'est fini, je ne t'embête plus ;)
Merci pour ce code.
Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
2 avril 2009 à 09:46
trop bête de ma part, je sais pas ce qu'il fait là ^^

je devais penser à un 1? (pour gérer les 11 -> 99)

\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
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
cs_Delphiprog
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Membre
Dernière intervention
9 janvier 2013
31
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.
Afficher les 9 commentaires

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.