title: Javascript RegExp non-capturing groups
body: <p>I am writing a set of RegExps to translate a CSS selector into arrays of ids and classes.</p>
  
  <p>For example, I would like '#foo#bar' to return ['foo', 'bar'].</p>
  
  <p>I have been trying to achieve this with</p>
  
  <pre><code>"#foo#bar".match(/((?:#)[a-zA-Z0-9\-_]*)/g)
  </code></pre>
  
  <p>but it returns ['#foo', '#bar'], when the non-capturing prefix ?: should ignore the # character.</p>
  
  <p>Is there a better solution than slicing each one of the returned strings?</p>