OK...
.* is "any character, any number of times (including zero)"
.*? is "and character, any number of times (including zero), as few as possible"
.+? is "any character, at least one of, as few as possible"
.?? is "any character, zero or one of, as few as possible"
And
.? is "any character, zero or one of"
Get a copy of
Expresso[
^] - it's free, and it examines and generates Regular expressions. It really helps to understand (and test) them!