Regex Quantifiers

Matching multiple occurrences

Basic Quantifiers

* # 0 or more times
+ # 1 or more times
? # 0 or 1 time (optional)

Specific Counts

{n} # exactly n times
{n,} # n or more times
{n,m} # between n and m times

Examples

a* # matches empty string, a, aa, aaa, ...
a+ # matches a, aa, aaa, ... (not empty)
a? # matches empty string or a
a{3} # matches aaa
a{2,4} # matches aa, aaa, aaaa
\d{3} # matches 3 digits

Greedy vs Lazy

* # greedy (match as much as possible)
*? # lazy (match as little as possible)
+? # lazy plus
?? # lazy optional
{n,m}? # lazy range