I have a regex expression:
^([ \t\r]*\S+){2}$
It matches name and group matches e, in name.
I expected to not to match name, but name name; such as I wanted \S+ work till it matches. I can make it work just a bit changing it:
^([ \t\r]*\S+)([ \t\r]+\S+)$
but I hoped it would be possible to make it shorter.
+,*, and?are not possessive. They will match as much as they can if that produces a valid match, but if not, the regex engine will backtrack and try matching less. I don't think Python supports possessive quantifiers; you'll have to recode your regex if you don't want to matchname.