OVH Cloud OVH Cloud

regexp, question bète...

3 réponses
Avatar
paul
Bonjour,

décidémment, vous allez penser que je suis une bille en regexp.
Vous aurez surement raison, d'ailleurs :-D

Bon, là, mon problème, c'est que :
$src = "l'antilope"
$dest = "le lion"
$x =~ s/$src/$dest/; ne marche pas puisque dans src il y a un caractère à
échapper. Comment on échappe correctement ?

quotemeta quote beaucoup trop de choses à mon goût (les espaces notamment).
Je voudrais ne quoter que les ()\*.?', bref, les caractères spéciaux des
regexp.
--
Paul

3 réponses

Avatar
Jean-Michel Hiver
quotemeta quote beaucoup trop de choses à mon goût (les espaces notamment).


Pourquoi est-ce un probleme?

Avatar
jeanpierre.vidal
paul wrote in message news:<btju84$39d$...
Bonjour,

décidémment, vous allez penser que je suis une bille en regexp.
Vous aurez surement raison, d'ailleurs :-D

Bon, là, mon problème, c'est que :
$src = "l'antilope"
$dest = "le lion"
$x =~ s/$src/$dest/; ne marche pas puisque dans src il y a un caractère à
échapper. Comment on échappe correctement ?


$src =~ s/$src/$dest/;

$chaine_a_traiter =~ s/sous_chaine_a_remplacer/chaine_de_remplacement/;

JPV


quotemeta quote beaucoup trop de choses à mon goût (les espaces notamment).
Je voudrais ne quoter que les ()*.?', bref, les caractères spéciaux des
regexp.


Avatar
Arnaud
' est un caractère spécial, il te suffit de bloquer son interprétation en
le faisant précéder de .
$rc="l'antilope";
$dest="le lion";
$x = "le lion bouffe l'antilope";

$x=~s/$rc/$dest/;
print $x;

Arnaud.

"paul" a écrit dans le message de
news:btju84$39d$
Bonjour,

décidémment, vous allez penser que je suis une bille en regexp.
Vous aurez surement raison, d'ailleurs :-D

Bon, là, mon problème, c'est que :
$src = "l'antilope"
$dest = "le lion"
$x =~ s/$src/$dest/; ne marche pas puisque dans src il y a un caractère à
échapper. Comment on échappe correctement ?

quotemeta quote beaucoup trop de choses à mon goût (les espaces
notamment).

Je voudrais ne quoter que les ()*.?', bref, les caractères spéciaux des
regexp.
--
Paul