Quantificadors

Els quantificadors permeten que una expressió regular coincideixi amb un número o un interval de números de qualsevol caràcter, una classe de caràcter o un subpatró.

Els quantificadors es col·loquen entre claus ({ i }). Teniu la forma general {[ocurrències-mínimes][,[ocurrències-màximes]]}

L'ús s'explica millor en aquest exemple:

{1}

Exactament 1 ocurrència

{0,1}

Zero o 1 ocurrència

{,1}

El mateix, però amb menys treball ;)

{5,10}

Com a mínim 5 i com a màxim 10 ocurrències.

{5,}

Com a mínim 5 ocurrències, sense màxim.

A més, hi ha alguns abreujaments:

* (asterisc)

Similar a {0,}, troba qualsevol nombre d'ocurrències.

+ (signe més)

Similar a {1,}, almenys 1 ocurrència.

? (signe d'interrogació)

Similar a {0,1}, zero o 1 ocurrència.

Voracitat

Quan s'usen quantificadors sense màxim, les expressions regulars intenten coincidir amb la major part possible de la cadena cercada, coneixent-se aquest comportament com a voraç.

El programari modern d'expressions regulars proporciona els mitjans per a «desactivar la voracitat», tot i que en els entorns gràfics dependrà de la interfície en tenir accés a aquesta característica. Per exemple, un diàleg de cerca que permeti expressions regulars, podria tenir una casella de selecció anomenada «Coincidència mínima», a més, hi podria haver una indicació que la voracitat és el comportament predeterminat.

Exemples en context

Aquests són alguns exemples que utilitzen quantificadors:

^\d{4,5}\s

Coincideix amb els dígits en «1234 ja» i «12345 ara», però no amb els de «567 onze» ni els de «223459 enlloc».

\s+

Coincideix amb un o més espais en blanc.

(bla){1,}

Coincideix amb «blablabla» i amb el «bla» de «blanc» o «tabla».

/?>

Coincideix amb «/>» en «<elementtancat/>» així com amb «>» en «<elementobert>».