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

  FORUM HardWare.fr
  Programmation
  Perl

  Expression reguliere dans une variable...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Expression reguliere dans une variable...

n°1307216
azubal
Posté le 16-02-2006 à 15:12:35  profilanswer
 

question toute bete mais je n'ai pas reussi a trouver de reponse :
comment rendre ceci possible :

Code :
  1. $expr = "s/toto/blabla/g";
  2. $line =~ \$expr;


 
j'ai demande a gougueule mais il n'a pas ete tres cooperatif.  :(

mood
Publicité
Posté le 16-02-2006 à 15:12:35  profilanswer
 

n°1307230
anapajari
s/travail/glanding on hfr/gs;
Posté le 16-02-2006 à 15:24:24  profilanswer
 

alors je sens que ça va pas t'aider des masses comme réponse mais:
C'est quoi l'interêt?????
Doit y en avoir un pour que tu poses la question mais la je vois pas!
 
sinon ( en attendant que pospos arrive avec la solution magique) tu peux toujours faire ça:

Code :
  1. $pattern = 'toto';
  2. $replace = 'blabla';
  3. $line =~ s/$pattern/$replace/g;

n°1307331
pospos
Posté le 16-02-2006 à 17:03:44  profilanswer
 

bon ben la solution est pas magique, mais elle existe.
par contre elle marche seulement à moitié
 
$expr = qr/toto/; (avec d'envtuels modifiers genre i)
$line =~ $expr
 
ca ca marche par contre pour du s/// faut faire ca:
 
$expr = qr/toto/;
$line =~ s/$expr/blabla/g;
 
pas le choix...
 
l'interet du qr// c'est essentielement de compiler la regexp (un peu comme le modifier o, mais en plus souple) pour gagner en vitesse (et meme avec le s/// on gagne tout de meme en vitesse en utilisant une regexp compilée dans la partie gauche)
 
uen possibilité pour automatiser ca c'est d'utiliser une hash:
 
my $replace = {
  toto => "blabla",
  epita => "ecole de bourge",
  epitech => "ecole de merde"
};
 
my $expr = join('|', keys %$replace);
$expr = qr/($expr)/;
 
$line =~ s/$expr/$replace->{$1}/ge;

Message cité 1 fois
Message édité par pospos le 17-02-2006 à 11:40:01
n°1307498
azubal
Posté le 16-02-2006 à 21:40:12  profilanswer
 

pospos a écrit :


  epita => "ecole de bourge",
  epitech => "ecole de merde"


 
Merde, grillé  :D


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

  Expression reguliere dans une variable...

 

Sujets relatifs
passer ds variable dans ds metasdéclarer variable
si la valeur d'une variable existe dejaErreur illegal start of expression
[JS] Variable dans le nom d'un objet...matlab_renommer une variable
Expression régulièretest numerique d'une variable en csh
[VBA] Passer une variable d'un userform à un autre[perl] passer une variable a une expression reguliere
Plus de sujets relatifs à : Expression reguliere dans une variable...


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