title: Regex one-liner for matching only what comes after a certain word?
body: <p>I want to extract song names from a list like this:  <code>'some text here, songs: song1, song2, song3, fro: othenkl'</code> and get <code>['song1', 'song2', 'song3']</code>. So I try to do it in one regex:</p>
  
  <pre><code>result =  re.findall('[Ss]ongs?:?.*', 'songs: songname1, songname2,')
  print re.findall('(?:(\w+),)*', result[0])
  </code></pre>
  
  <p>This matches perfectly:  <code>['', '', '', '', '', '', '', 'songname1', '', 'songname2', '']</code> (except for the empty strings, but nbd.  </p>
  
  <p>But I want to do it in one line, so I do the following:  </p>
  
  <pre><code>print re.findall('[Ss]ongs?:?(?:(\w+),)*','songs: songname1, songname2,')
  </code></pre>
  
  <p>But I do not understand why this is unable to capture the same as the two regexes above:  </p>
  
  <pre><code>['', 'name1', 'name2']
  </code></pre>
  
  <p>Is there a way to accomplish this in one line?  It would be useful to be concise here.  thanks.  </p>