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

  FORUM HardWare.fr
  Programmation
  Perl

  [PERL] expression réguliére RESOLU

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PERL] expression réguliére RESOLU

n°2322499
skoizer
tripoux et tête de veau
Posté le 17-10-2018 à 15:38:59  profilanswer
 

bonjour,
Une variable me retourne ceci
 1.3.6.1.2.1.196.1.2.1.1.3.4
ou
 1.3.6.1.2.1.196.1.2.1.1.3.15
ou
 1.3.6.1.2.1.196.1.2.1.1.3.13
Comment faire en perle pour recupérer apres le dernier point
par exemple
 13 = 1.3.6.1.2.1.196.1.2.1.1.3.13
 
C'est pour récupérer une sequence d'une OID sur un equipement qui fait du snmp.
 
merci


Message édité par skoizer le 17-10-2018 à 16:35:42

---------------
je veux tout, tout de suite, et gratuitement ! miladiou !
mood
Publicité
Posté le 17-10-2018 à 15:38:59  profilanswer
 

n°2322500
MaybeEijOr​Not
but someone at least
Posté le 17-10-2018 à 15:53:39  profilanswer
 

Bonjour,
 
Je propose :

Code :
  1. (?:\d+\.)+(\d+)


 
Mais je suggère surtout de ne pas utiliser une expression régulière, dans ton cas tu peux travailler en récupérant dans une string tous les caractères à partir du 27ème.


---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
n°2322501
skoizer
tripoux et tête de veau
Posté le 17-10-2018 à 16:00:06  profilanswer
 

j'ai trouvé une autre methode que le regex
c'est pas du regex mais cela fait le boulot
 
my $str=1.3.6.1.2.1.196.1.2.1.1.3.13;
$i=rindex($str,"." );
$a=substr($str,$i+1);
 
cela me renvoi $a = 13


---------------
je veux tout, tout de suite, et gratuitement ! miladiou !
n°2322502
skoizer
tripoux et tête de veau
Posté le 17-10-2018 à 16:00:50  profilanswer
 

MaybeEijOrNot a écrit :

Bonjour,
 
Je propose :

Code :
  1. (?:\d+\.)+(\d+)


 
Mais je suggère surtout de ne pas utiliser une expression régulière, dans ton cas tu peux travailler en récupérant dans une string tous les caractères à partir du 27ème.


 
merci beaucoup MaybeEijOrNot
 
c'est pour faire remonter si les bornes wifi son up ou down sur un cotnroleur HPE.


Message édité par skoizer le 17-10-2018 à 16:01:59

---------------
je veux tout, tout de suite, et gratuitement ! miladiou !
n°2322511
MaybeEijOr​Not
but someone at least
Posté le 17-10-2018 à 17:04:26  profilanswer
 

skoizer a écrit :

j'ai trouvé une autre methode que le regex
c'est pas du regex mais cela fait le boulot
 
my $str=1.3.6.1.2.1.196.1.2.1.1.3.13;
$i=rindex($str,"." );
$a=substr($str,$i+1);
 
cela me renvoi $a = 13


 
Comme je disais, mieux vaut travailler avec les méthodes classiques associées aux strings. Ta solution est bonne et peut être généralisée et maintenue facilement. Travailler sur la longueur de la chaine est la solution la moins coûteuse si tu es certain que ça n'évolue pas dans le temps, c'est donc en contrepartie moins maintenable.


---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
n°2322529
gilou
Modérateur
Modzilla
Posté le 17-10-2018 à 21:50:09  profilanswer
 

my $str="1.3.6.1.2.1.196.1.2.1.1.3.13";  
(my $a = $str) =~ s/.*\.//;
 
La seconde ligne s'expanse de manière plus lisible ainsi:
my $a = $str;
$a =~ s/.*\.//;
 
ou sinon  
my $a = substr($str, 1+rindex($str, '.'));
 
A+,


Message édité par gilou le 17-10-2018 à 22:05:47

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --

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

  [PERL] expression réguliére RESOLU

 

Sujets relatifs
[Perl] Module JSON / Lire un fichier[Perl] Remplacer plusieurs lignes par le résultat d'un appel externe
[PERL] remplacer un mot dans un fichierCognos report studio expression Case avec between
[Perl] Comparaison de fichiersexpression régulière avec perl
[perl] passer une variable a une expression regulierePerl: expression reguliere
[PHP/PERL] expression régulière : apostrophe[Perl]expression régulière
Plus de sujets relatifs à : [PERL] expression réguliére RESOLU


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