Les quantificateurs déterminent le nombre de répétitions tolérées d'un caractère quelconque ou d'une expression régulière complète ou partielle.
Le nombre de répétitions est indiqué par un symbole (?, *, +) ou par un intervalle (ex.: {1, 3}).
//Recherche des mots se terminant par la lettre e Expression régulière : \b\p{L}*e\b Cible : Elle est belle Isabelle lorsqu'elle se lève. //Recherche deux caractères l consécutifs Expression régulière : l{2} Cible : Elle est belle Isabelle lorsqu'elle se lève. //Recherche d'un ou plusieurs caractères l consécutifs Expression régulière : l+ Cible : Elle est belle Isabelle lorsqu'elle se lève. //Recherche d'un caractère e suivi éventuellement par un l Expression régulière : el? Cible : Elle est belle Isabelle lorsqu'elle se lève. //Recherche d'un caractère e suivi par //un (minimum) ou deux (maximum) l Expression régulière : el{1, 2} Cible : Elle est belle Isabelle lorsqu'elle se lève. //Recherche d'un caractère e suivi par un (minimum) ou plusieurs l Expression régulière : el{1,} Cible : Elle est belle Isabelle lorsqu'elle se lève.
Des quantifiers gloutons consomment la chaîne de caractères cible entière lors d'une première tentative de recherche. Puis si cette première tentative échoue, alors à partir de la fin de la chaîne cible, ils reculent d'un caractère, essayent à nouveau une mise en correspondance, puis répêtent ce processus jusqu'à que la recherche réussise ou qu'il n'y ait plus de caractères.
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=36 groupe(0) = xxxabcxxxdefxxxabcxxxdefxxxabcxxxdef Expression régulière : .+def Résultat : debut=0, fin=36 groupe(0) = xxxabcxxxdefxxxabcxxxdefxxxabcxxxdef
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. |