Quantifiers lets you match sequences.
Name | Quantifier Character | Effect |
---|---|---|
Zero or More | * | Matches zero or more occurrences of the pattern to its left |
One or More | + | Matches one or more occurrences of the pattern to its left |
Zero or One | ? | Matches pattern that either occurs once or doesn't occur at all |
Ranges | p{m,n} | Matches matches `m` or more occurrences of `p`, but not more than `n` if provided |
Greediness vs. Laziness
The quantifiers above are greedy: they always match the longest possible string they can.
Greediness is uselful most cases, but when you need to match the fewest number of characters possible, we need to use a lazy match.
In Ruby and Javascript, lazy match are called with a ?
behind the maiin quantifier.