expression régulière a*b

Le
Dan
Bonjour,

Je cherche à écrire un programme qui transforme les expressions du
type (a*b) en f(a,b)

Voici comment j'ai vérifié que l'expression de départ était du bon
format :

while (<>){
chomp;
while (s/([a-b]*[a-b])/a/g) {};
print "$_" ;
}
qui affiche a si c'est bon.



mais
while (<>){
chomp;
while (s/(([a-b])*([a-b]))/f($1,$2)/g) {};
print "$_" ;
}

ne fera évidemment pas tous les remplacements nécessaires.


Auriez-vous des idées ?

Merci d'avance !
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jean-Charles Gibier
Le #17643631
Dan a écrit :
Bonjour,

Je cherche à écrire un programme qui transforme les expressions du
type (a*b) en f(a,b)

Voici comment j'ai vérifié que l'expression de départ était du bon
format :

while (<>){
chomp;
while (s/([a-b]*[a-b])/a/g) {};
print "$_n" ;
}
qui affiche a si c'est bon.



mais
while (<>){
chomp;
while (s/(([a-b])*([a-b]))/f($1,$2)/g) {};
print "$_n" ;
}

ne fera évidemment pas tous les remplacements nécessaires.


Auriez-vous des idées ?

Merci d'avance !



le "while" de la substitution est superflu.
S'il s'agit de répéter les substitutions sur chaque occurrence l'option
'g' fait l'affaire.

while (<>){
chomp;
s/(([a-b])*([a-b]))/f($1,$2)/g;
print "$_ n";
}
Publicité
Poster une réponse
Anonyme