title: Python re.findall returns only first match
body: <p>I'm somewhat stuck with this and didn't find a similar issue here.</p>
  <p>I want to get a list of all the tag elements in the string like, e.g. <code>&lt;a&gt;</code> -&gt; <code>a</code> or <code>&lt;/b&gt;</code> -&gt; <code>b</code></p>
  <pre><code>import re
  
  s = '&lt;p&gt;&lt;a href=&quot;http://www.quackit.com/html/tutorial/html_links.cfm&quot;&gt;Example Link&lt;/a&gt;&lt;/p&gt;'
  pat = r'&lt;\s*(\w+)/?\s*.*&gt;'
  tags = re.findall(pat, s)
  print(tags)
  </code></pre>
  <p>Here I get <code>['p']</code> as a result. If I change the <code>\w+</code> to <code>[a-d]+</code> I just get <code>['a']</code> as a result.</p>
  <p>I'd expect as result <code>['p', 'a', 'a', 'p']</code> or at least all the distinct tag values.</p>
  <p>What did I do wrong here? Thank you!</p>
  <p>Using Python 3.x</p>