Perl: mot entre parenthèses
Gux
-
Gux -
Gux -
Bonjour,
Voilà, j'ai des fiches a analysé:
$phrase = "lancement: 2006 (Allemagne) (France) ";
cette phrase peut changer
$phrase = "lancement: 01/05/2007 (Japon) ";
comment faire pour récupérer le contenu de toute les parenthèses ?
pour le moment je ne récupère que la phrase avec une seule parenthèse:
$phrase =~ s|lancement: (.*) \((.*?)\) |<item_pays>$2</item_pays>|gms;
Comment mettre une condition dans ce regexp ?
Voilà, j'ai des fiches a analysé:
$phrase = "lancement: 2006 (Allemagne) (France) ";
cette phrase peut changer
$phrase = "lancement: 01/05/2007 (Japon) ";
comment faire pour récupérer le contenu de toute les parenthèses ?
pour le moment je ne récupère que la phrase avec une seule parenthèse:
$phrase =~ s|lancement: (.*) \((.*?)\) |<item_pays>$2</item_pays>|gms;
Comment mettre une condition dans ce regexp ?
Configuration: Linux Firefox 3.5.7
2 réponses
-
Salut,
lami20j@debian-acer:~$ cat phrase.pl #!/usr/bin/perl use strict;use warnings; while(<DATA>){ next if /^$/; next unless /lancement/; while(/\(([^)]*)\)/g){ print "<item_pays>$1</item_pays>\n"; } } __END__ lancement: 2006 (Allemagne) (France) lancement: 01/05/2007 (Japon) lami20j@debian-acer:~$ perl phrase.pl <item_pays>Allemagne</item_pays> <item_pays>France</item_pays> <item_pays>Japon</item_pays> lami20j@debian-acer:~$ -