Les quantificateurs hésitants (reluctant) fonctionnent différemment des quantificateurs gloutons (greedy). En effet, ils démarrent une recherche au début de la chaîne de caractères cible, consomment un caractère à la fois pour une mise en correspondance. La dernière chose qu'ils essayent est une mise en correspondance sur le chaîne de caractères cible entière.
Cible : xxxabcxxxdefxxxabcxxxdefxxxabcxxxdef //Recherche d'un caractère e suivi par un (minimum) ou plusieurs l Expression régulière : .??def Résultat : debut=8, fin=12 groupe(0) = xdef debut=20, fin=24 groupe(0) = xdef debut=32, fin=36 groupe(0) = xdef Expression régulière : .*?def Résultat : debut=0, fin=12 groupe(0) = xxxabcxxxdef debut=12, fin=24 groupe(0) = xxxabcxxxdef debut=24, fin=36 groupe(0) = xxxabcxxxdef Expression régulière : .+?def Résultat : debut=0, fin=12 groupe(0) = xxxabcxxxdef debut=12, fin=24 groupe(0) = xxxabcxxxdef debut=24, fin=36 groupe(0) = xxxabcxxxdef Expression régulière : def.?? Résultat : debut=9, fin=12 groupe(0) = def debut=21, fin=24 groupe(0) = def debut=33, fin=36 groupe(0) = def
Symboles | Description |
---|---|
X?? | Aucun ou un caractère X. |
X*? | Zéro à plusieurs caractère X. |
X+? | Un à plusieurs caractère X. |
X{n}? | Exactement n caractères X. |
X{n,}? | Au moins n caractères X. |
X{n,m}? | Au moins n et au plus m caractères X. |