[perl] passer une variable a une expression reguliere

passer une variable a une expression reguliere [perl] - Perl - Programmation

Marsh Posté le 02-11-2005 à 08:19:13    

bonjour,  
 
J'ai cherché sur le forum, mais j'ai pas trouvé mon bonheur, qui doit etre simplissime je pense:
comment insérer une variable dans une regexp:
 
my $filtre="\S+aaa";
 
if ($truc =~ /ma regexp($filtre)/) {
 print $1;
}
 
Merci

Reply

Marsh Posté le 02-11-2005 à 08:19:13   

Reply

Marsh Posté le 02-11-2005 à 08:23:19    

bon, bah je me répond a moimeme pour ceux que ca interesse :
http://sylvain.lhullier.org/public [...] #id2467696
 
il y a plus d'infos.
J'avais déjà essayé, mais ca fonctionne pas ..  
J'ai du bloquer qqpart, alors je vais persister.

Reply

Marsh Posté le 02-11-2005 à 17:02:33    

et tu as essayé ça : $truc=~/\Q$filtre/    ?
Cio

Reply

Marsh Posté le 03-11-2005 à 19:31:55    

oops, j'avais oublié ce topic ..
Je sais plus exactement ce que c'etait, mais j'ai reussi a m'en sortir, sans faire ce que tu as dit ..
Par contre, \Q ca correspond à quoi ?

Reply

Marsh Posté le 04-11-2005 à 14:33:18    

C'est pour dire que ce qui suit ($filtre) ne correspond pas à une expr reg...sinon tu as une erreur car la variable truc ne peut se finir par kekchoz avant $(signe de fin) et avoir kekchoz après sa fin...

Reply

Marsh Posté le 04-11-2005 à 15:17:17    

le \Q sert à echapper les caracteres
par exemple si tu veux matcher "www.tf1.fr" tu veux en fait "www\.tf1\.fr"

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed