next up previous index
suivant: Utilisation : recherche monter: La syntaxe précédent: Les quantificateurs   Index

Les quantificateurs non-gourmands

Une nouveauté intéressante introduite dans la version 5 de perl est la possibilité d'obtenir des quantificateurs non gourmands, i.e. qui ne matchent pas la plus grande chaîne possible, en mettant un ? après le quantificateur.

Voici un exemple illustrant le caractère gourmand des expressions régulières classiques, et l'apport de perl5 dans ce domaine :

$chaine = 'Voila un <A HREF="index.html">index</A> et
une autre <A HREF="reference.html">reference</A>.';

($greedy) = ($chaine =~ /(<.+>)/);
($nongreedy) = ($chaine =~ /(<.+?>)/);

print "1: ", $greedy, "#1585#>n2: ", $nongreedy, "#1586#>n";
qui donne le résultat suivant :


1: <A HREF="index.html">index</A> et une
           autre <A HREF="reference.html">reference</A>
2: <A HREF="index.html">



Olivier Aubert
1999-06-01