Bonjour,
Je suis nouveau dans le monde de Perl.
Actuellement, je développe une commande et elle doit proposer l'entrée de différents types d'arguments.
Parmi ceux-ci, il y a les listes représentés simplement {1,-2.3,-6}.
Mon soucis est que mon expression régulière repérant les virgules ne marche pas :
$arg =~ m/\{([+-]?\d+(.\d+)?\,)*[+-]?\d+(.\d+)?\}/
D'aprés moi, elle est censée pour voir repérer l'exemple donné ci-dessus mais elle ne matche que sur les listes d'un éléments : {12}, {-6} ou autre.
J'ai tenté de comprendre mon erreur résultat :
$arg =~ m/\{[+-]?\d+(.\d+)?a\} matche {99a}
MAIS
$arg =~ m/\{[+-]?\d+(.\d+)?,\} ne matche pas {99,}
même chose pour : $arg =~ m/\{[+-]?\d+(.\d+)?\,\}
Quelqu'un aurait-il la simpathie de m'expliquer mon erreur ou mon incompréhension ?
Cordialement,
Mokuhiken.
Partager