title: Modify python regexp to match all floating point numbers instead of only the first one
body: <p>I have a python function which uses a regular expression to match one (the first) floating point number in a given string and return the number.</p>
  
  <p>How can I modify it (the regex) to generalize the function so that it returns instead a list with the all numbers in the string?</p>
  
  <p>Here is a working demonstration:</p>
  
  <pre><code>    import re
  
      def extract_number(s,notfound='NOT_FOUND'):
          regex='[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?' # matching any floating point number 
          m = re.search(regex,s)
          if(m): val=m.group()
          else: val=notfound
          return val
  
      example='bla1.23bar4.5fuzz6.7cat8'
  
      print example
      print extract_number(example)
  </code></pre>
  
  <p>In this example, the output is:</p>
  
  <p><code>bla1.23bar4.5fuzz6.7cat8</code><br>
  <code>1.23</code></p>
  
  <p>The modified function which I am looking for, let's call it extract_numbers (note the plural !), should output this:</p>
  
  <p><code>bla1.23bar4.5fuzz6.7cat8</code><br>
  <code>[1.23, 4.5, 6.7, 8]</code></p>