title: Multiple pattern matching using RegEx
body: <p>I'm trying to use RegEx to split a string into several objects.  Each record is separated by a  :, and each field is separated by a ~.</p>
  
  <p>So sample data would look like:</p>
  
  <pre><code>:1~Name1:2~Name2:3~Name3
  </code></pre>
  
  <p>The RegEx I have so far is</p>
  
  <pre><code>:(?&lt;id&gt;\d+)~(?&lt;name&gt;.+)
  </code></pre>
  
  <p>This however will only match the first record, when really I would expect 3.  How do I get the RegEx to return all matches rather than just the first?</p>