title: Extract Multiple Occurances of Variable Length Text Without Multiple Patterns
body: <p>From the following data <code>.xxx[val1, val2, val3]</code> the values of <code>val1</code>, <code>val2</code> and <code>val3</code> need to be extracted.  </p>
  
  <p>If one uses this pattern <code>@"\[(.*?), (.*?), (.*?)\]"</code> the data can be extracted, but when the data string varies it fails to get <em>all</em> data. </p>
  
  <p>Take these variable examples </p>
  
  <p><code>.xxx[val1]</code> 
  or <code>.xxx[val1, val2, val3, val4, val5]</code>
  or finally <code>.xxx[{1-N},]</code>.  </p>
  
  <p>What <em>single</em> regular expression pattern can achieve results on all sets of data provided as examples?</p>