How do a{n}? and a{n} differ?
Nothing. The article states:
The {n} quantifier matches the preceding element exactly n times, where n is any integer. {n} is a greedy quantifier whose lazy equivalent is {n}?.
…
The {n}? quantifier matches the preceding element exactly n times, where n is any integer. It is the lazy counterpart of the greedy quantifier {n}+.
Notice the text is exactly the same. Basically, adding ? does not change the behavior of the quantifier. It appears that .NET's regular expression engine supports {n}?
as a alternative to {n}
.
Interestingly, this article does appear to contain an error:
The {n,} quantifier matches the preceding element at least n times, where n is any integer. {n,} is a greedy quantifier whose lazy equivalent is {n}?.
This is wrong. The lazy equivalent of {n,}
is {n,}?
which is not the same as {n}?
.