title: Cannot seem to find the index where regex gets a match
body: <p>I'm using vb.net and something that seems obvious in PHP does not work (for me) in vb.net:</p>
  
  <pre><code>Extract = "100011100000"
  Dim HandReg3 As New Regex("(?:[0]*)(1{3,})(?:[0]*)")
  
  If HandReg3.IsMatch(Extract) Then
       Dim m() As String = HandReg3.Split(Extract)
       For Each item As String In m
           Console.WriteLine(item)
       Next
       Dim m1 As Match = Regex.Match(Extract, "(?:[0]*)(1{3,})(?:[0]*)")
       Console.WriteLine(m1.Index)
       Console.WriteLine(m1.Length)
  End If
  </code></pre>
  
  <p>Which writes:</p>
  
  <pre><code>1
  111
  1  &lt;-Index. Shouldn't it be 4 (0 based) or 5????
  111
  </code></pre>
  
  <p>I've tried several combinations of groups (capturing and not capturing).
  Of course it has to be something obvious and stupid but after almost 8 hours. I just can't get it right!
  Tried:</p>
  
  <pre><code>([0-1]*)(1{3,})([0-1]*)
  [0-1]*1{3,}[0-1]*
  </code></pre>
  
  <p>and every other combination that I can thought of in between.</p>
  
  <p>Thanks for your help</p>
  
  <p>Emiliano</p>