Quantifiers
Quantifiers specify the number of instances a character or character class must be present in the input for a match to be found. Quantifiers can be greedy or lazy. Greedy quantifiers match as many occurrences of a particular pattern as possible. Appending the ? character to a quantifier makes it lazy, which will match as few occurrences as possible:
* | 0 or more. Example: X* is X zero or more times |
*? | 0 or more (lazy) |
+ | 1 or more |
+? | 1 or more (lazy) |
? | 0 or 1 |
?? | 0 or 1 (lazy) |
{} | Exact number. Example: {3} is exactly 3 |
{3,} | 3 or more |
{3,5} | 3, 4 or 5 |
{3,5}? | 3, 4 or 5 (lazy) |