Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1296 connectés 

  FORUM HardWare.fr
  Programmation

  expression reguliere : @IP

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

expression reguliere : @IP

n°121490
fabriceMer​c
Posté le 04-04-2002 à 17:58:03  profilanswer
 

en fait je voudrais savoir si l'adresse IP saisie est correcte  
j'ai tenté sans les expressions régulieres mais c'est enorme ( test 0<x<255 ...)
 
en fait je vois pas comment en utilisant les expressions régulieres vérifir que chaque nombre de l'@IP est bien compris ( strictement ) entre 0 et 255 .
 
mercie

mood
Publicité
Posté le 04-04-2002 à 17:58:03  profilanswer
 

n°121566
Enzut
Posté le 04-04-2002 à 20:57:57  profilanswer
 

ben, en expression régulière, tu devrais pouvoir faire un truc du style [0..255].[0..255].[0..255].[0..255]  si tu fais ça dans Lex et que tu lui envois une IP, il te dira si c'est valable ou pas...  mais bon...  je suis pas vraiment sûr c'est ça que tu voulais

n°121631
Tentacle
Posté le 04-04-2002 à 23:25:13  profilanswer
 

enzut a écrit a écrit :

ben, en expression régulière, tu devrais pouvoir faire un truc du style [0..255].[0..255].[0..255].[0..255]  si tu fais ça dans Lex et que tu lui envois une IP, il te dira si c'est valable ou pas...  mais bon...  je suis pas vraiment sûr c'est ça que tu voulais  




 
pour moi [0..255] ça correspond à [0125] c'est à dire de 0 à 2 ou un 5 répété une unique fois.

n°121632
matafan
Posté le 04-04-2002 à 23:27:23  profilanswer
 

[0..255] ça match "0", "2", "5" et ".". Les expressions régulières c'est fait pour filtrer du texte, pas des données numériques.

n°121633
Tentacle
Posté le 04-04-2002 à 23:28:08  profilanswer
 

Je préfèrerais utiliser un split de la chaîne puis faire un foreach dessus pour vérifier chaque nombre.

n°121636
Tentacle
Posté le 04-04-2002 à 23:29:55  profilanswer
 

matafan a écrit a écrit :

[0..255] ça match "0", "2", "5" et ".". Les expressions régulières c'est fait pour filtrer du texte, pas des données numériques.  




 
 
Tiens oups j'avais pas tilté que c'était - qu'on utilisait et non .. :)

n°121681
fabriceMer​c
Posté le 05-04-2002 à 09:42:34  profilanswer
 

bo j'ai un truc qui marche mais bon si il y a plus court:
 
function valider_ip ($ip) {
  if (is_string ($ip) && ereg('^([0-9]{1,3})\.([0-9]{1,3})\.'
                              '([0-9]{1,3})\.([0-9]{1,3})$'
                              $ip,$part)) {
 
  if ($part[1] <= 255 && $part[2] <= 255 &&
      $part[3] <= 255 && $part[4] <= 255)
     return TRUE; #ip valide
 }
}

 

[jfdsdjhfuetppo]--Message édité par fabriceMerc--[/jfdsdjhfuetppo]

n°121683
Enzut
Posté le 05-04-2002 à 09:45:32  profilanswer
 

houai, pardon, j'ai répondu trop vite.  c'est en effet [0-255] pour tout les "trucs" compris entre la borne 0 et la borne 255...  Ca marche aussi avec [a-z] si on veut les lettres de l'alphabet...  :)

n°121689
Tentacle
Posté le 05-04-2002 à 10:13:00  profilanswer
 

enzut a écrit a écrit :

houai, pardon, j'ai répondu trop vite.  c'est en effet [0-255] pour tout les "trucs" compris entre la borne 0 et la borne 255...  Ca marche aussi avec [a-z] si on veut les lettres de l'alphabet...  :)  




 
nonon [0-255] ça correspond à [0125] car il va d'abord prendre l'écart 0-2 puis 5

n°121798
Enzut
Posté le 05-04-2002 à 12:13:33  profilanswer
 

Bon, OK, je vous fais chier une dernière fois (mais cette fois-ci, ça marche, je l'ai tester...
 tu définis:  
ip [0-1][0-9][0-9]|[2][0-4][0-9]|[25][0-5]
 
%%
{ip}"."{ip}"."{ip}"."{ip}  {printf("%s\n", yytext);}
.  {/* rien sinon echo par défaut dans lex */}
 
Bon, c'est du code lex, mais le tout y est...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  expression reguliere : @IP

 

Sujets relatifs
[PHP/PERL] expression régulière : apostrophe[PHP] Expression Reguliere fonction ereg()
[PHP]syntaxe pour mon expression reguliere[Java] Expression régulière
[PHP]- Expression regulieres -> /n[CaML] Help pour la conception d'un deriveur d'expression algebrique
Plus de sujets relatifs à : expression reguliere : @IP


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR