Accueil > PERL > [PERL-RegExp] La plus petit occurence

[PERL-RegExp] La plus petit occurence

lundi 13 février 2012


Nous cherchons à isoler une partie de phrase sachant que le séparateur est l’espace.

Connecté au clavier, je tape donc fébrilement mon expression régulière tant de fois écrite :

#!/usr/bin/perl -w

my $fic="7,1M /home/eric/materiel/driver reseau/toto.fkv";
$fic=~ /^.*\s(.*)/;
print $1."\n";

ce qui me donne

reseau/toto.fkv

au lieu de

/home/eric/materiel/driver reseau/toto.fkv

Ce qui se résume en fait à rechercher non pas la plus longue occurence correspondant à notre expression régulière mais la plus petite ! Heureusement Perl is your friend et * ? permet d’avoir ce que l’on souhaite.

#!/usr/bin/perl -w

my $fic="7,1M /home/eric/materiel/driver reseau/toto.fkv";
$fic=~ /^.*?\s(.*)/;
print $1."\n";
/home/eric/materiel/driver reseau/toto.fkv