Quantificateurs
===============

Les quantificateurs indiquent le nombre de caractères ou d'expressions qu'il faut pour une correspondance.

Types
-----

| Caractères | Signification |
| --- | --- |
| `x*` | 
 Correspond à l'expression précédente qui est répétée 0 ou plusieurs
 fois. Équivalent à `{0,}`

 Ainsi, `/bo*/` correspond à 'boo' dans "Un booléen" et à
 'b' dans "Un bateau bleu", mais ne correspond à rien dans "Ce matin".
  |
| `x+` | 
 Correspond à l'expression précédente qui est répétée une ou plusieurs
 fois. C'est équivalent à `{1,}`.


 Ainsi, `/a+/` correspond au 'a' dans "maison" et à tous les
 'a' dans "maaaaaaison" mais ne correspond à rien dans "mission".
  |
| `x?` | 
 Correspond à l'expression précédente qui est présente une fois ou pas
 du tout. C'est équivalent à `{0,1}`.Ainsi,
 `/e?le?/` correspond au 'el' dans "gel" et au 'le' dans
 "angle" mais aussi au 'l' dans "Oslo".S'il est utilisé
 immédiatement après l'un des quantificateurs : \*, +, ?, ou {}, il rend
 le quantificateur moins « gourmand » auquel cas le moins de caractères
 correspond (le comportement par défaut, « gourmand », permettant de
 faire correspondre le plus de caractères possible). Par exemple
 `/\d+/` utilisée avec "123abc" fait correspondre "123".
 Utiliser `/\d+?/` à la même chaîne de caractères fait
 correspondre "1".Ce symbole est également utilisé dans les
 tests de présence autour de l'expression, décrits par les lignes
 `x(?=y)` et `x(?!y)` de ce tableau.
  |
| `x{n}` | 
 Correspond pour exactement n occurences de l'expression précédente. N
 doit être un entier positif.Ainsi, `/a{2}/` ne
 correspond pas au 'a' de "Mozilla" mais correspond à tous les 'a' de
 "Mozilaa" et aux deux premiers 'a' de "Mozillaaa".
  |
| `x{n,}` | 
 Correspond lorsqu'il y a au moins `n` occurences de
 l'expression précédente. `n` doit être un entier positif.


 Par exemple `/a{2,}/` correspondra à `"aa"` ou à
 `"aaa"` ou encore à `"aaaa"` mais pas à
 `"a"`.
  |
| `x{n,m}` | 
 Lorsque `n` et `m` sont des entiers positifs,
 cela correspond à au moins `n` occurences de l'expression
 précédente et à au plus `m` occurrences. Lorsque
 `m` n'est pas utilisé, la valeur par défaut correspondante
 sera l'infini.


 Ainsi, `/a{1,3}/` ne correspond à rien dans "Mozill", au
 'a' de "Mozilla", au deux premiers 'a' de "Mozillaa" et au trois
 premiers 'a' de "Mozillaaaaa". Pour ce dernier exemple, on doit noter
 que le correspondance ne se fait que sur "aaa" bien qu'il y ait plus
 de 'a' dans la chaîne de caractères.
  |
| `x*?``x+?``x??``x{n}?``x{n,}?``x{n,m}?` | 
 Correspond à l'expression précédente qui est présente une fois ou pas
 du tout. C'est équivalent à `{0,1}`.Ainsi,
 `/e?le?/` correspond au 'el' dans "gel" et au 'le' dans
 "angle" mais aussi au 'l' dans "Oslo".S'il est utilisé
 immédiatement après l'un des quantificateurs : \*, +, ?, ou {}, il rend
 le quantificateur moins « gourmand » auquel cas le moins de caractères
 correspond (le comportement par défaut, « gourmand », permettant de
 faire correspondre le plus de caractères possible). Par exemple
 `/\d+/` utilisée avec "123abc" fait correspondre "123".
 Utiliser `/\d+?/` à la même chaîne de caractères fait
 correspondre "1".Ce symbole est également utilisé dans les
 tests de présence autour de l'expression, décrits par les lignes
 `x(?=y)` et `x(?!y)` de ce tableau.
  |