Bonjour je travaille sur une expression régulière en perl, j'arrive à faire le peu de chose que j'ai pu trouver sur le net mais pour le reste je bloque :

Voici mon expression régulière de départ :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
my $message = $ARGV[2];
if ($message =~ /\[(.*)-\d*\]/) {
	print "Regexp passé result : " .  $1 . "\n";
}
 
Entrée : [ProjetA-1234] Test.
Sortie : Regexp passé result : ProjetA
Celle-ci marche parfaitement, maintenant ce que je souhaite afficher c'est n fois le même pattern s'il existe plusieurs fois dans la chaine :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Entrée : [ProjetA-1234] Test1 [ProjetB-5678] Test2.
Sortie : Regexp passé result : ProjetA
Regexp passé result : ProjetB
Ce que j'ai du mal à faire c'est :
  • Construire la regexp.
  • Récupérer les résultats sachant que je ne sais pas combien il y en aura à l'avance


Est-ce que quelqu'un s'y connait là dedans?