#1 Le 06/08/2007, à 10:47
- LPedro
[expression regulière]Remplacer les parenthèses
Bonjour,
J'aimerai à l'aide d'une expression régulière remplacer dans une chaine des parenthèses par un autre symbole.
Par exemple:
$chaine =~ s/")"/"]"/g;
$chaine =~ s/"("/"["/g;
J'ai essayé avec cette façon mais cela ne donne rien.
Est ce que vous avez une solution s'il vous plait?
Merci
Pierre
Hors ligne
#2 Le 06/08/2007, à 11:02
- ekra
Re : [expression regulière]Remplacer les parenthèses
Bonjour,
Essaie :
chaine = 's/)/]/g'
Dernière modification par ekra (Le 06/08/2007, à 11:03)
PTC !
GPG Key ID = 5518CFC7
Hors ligne
#3 Le 06/08/2007, à 12:44
- LPedro
Re : [expression regulière]Remplacer les parenthèses
Ca ne marche pas.
J'ai ceci comme réponse:
/)/: unmatched () in regexp
edit: c'est ceci qu'il faut utiliser:
$chaine=~ s/\)/\]/g;
Dernière modification par LPedro (Le 06/08/2007, à 14:00)
Hors ligne
#4 Le 06/08/2007, à 21:59
- JoelS
Re : [expression regulière]Remplacer les parenthèses
$chaine =~ s/")"/"]"/g; $chaine =~ s/"("/"["/g;
Tu ne le précises pas, mais ça sent bon le Perl, ça.
Si c'est tout ce que tu veux faire, une bonne vieille translitération de chaîne suffira certainement. Voir la fonction tr.
$chaine = 'zdbu(zci(v,or)er)()';
print "$chaine\n";
$chaine =~ tr/()/[]/;
print "$chaine\n";
devrait marcher.
Hors ligne
#5 Le 07/08/2007, à 07:36
- littleblackdog
Re : [expression regulière]Remplacer les parenthèses
à propos d'expressions régulières...
vous connaissez peut-être cette technique pour commenter vos expressions et arriver à les comprendre après quelques semaines sans y toucher, mais au cas où ... voilà.
Hors ligne