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) |
