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
SymbolesDescription
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.