By default, a quantified subpattern is "greedy", that is, it will match as many times as possible (given a
particular starting location) while still allowing the rest of the pattern to match. If you want it to match
the minimum number of times possible, follow the quantifier with a "?". Note that the meanings don't change,
just the "greediness":
*? Match 0 or more times, not greedily
+? Match 1 or more times, not greedily
?? Match 0 or 1 time, not greedily
{n}? Match exactly n times, not greedily
{n,}? Match at least n times, not greedily
{n,m}? Match at least n but not more than m times, not greedily
Partager