title: Non-greedy mode in re.search() does not match to end of string
body: <p>I'm trying to parse values of a cookie like this:</p>
  
  <pre><code>import re
  m = re.search("(.*?)=(.*?); path=(.*?); domain=(.*?)", "name=value1; path=/; domain=my.domain.com")
  print (m.group(0))
  </code></pre>
  
  <p>Result I get is like this:</p>
  
  <pre><code>name=value1; path=/; domain=
  </code></pre>
  
  <p>My question is: why does it not match at the last non-greedy position? Expected result would be:</p>
  
  <pre><code>name=value1; path=/; domain=my.domain.com
  </code></pre>
  
  <p>Of course, I could change to greedy mode or use an end of line character (<code>$</code>) but I'd like to understand why it's not working like I expected it to work :)</p>