title: Go regexp FindAllStringSubmatch
body: <p>here is my snippet of code in Go which can be found here <a href="http://play.golang.org/p/L1AcgHf3E4" rel="nofollow">http://play.golang.org/p/L1AcgHf3E4</a>.</p>
  
  <pre><code>package main
  
  import (
      "fmt"
      "regexp"
  )
  
  func main() {
      reg := regexp.MustCompile("([0-9]+[dh]){2}")
      str := "2d3h5d"
  
      fmt.Println(reg.FindAllStringSubmatch(str, -1))
  
  }
  </code></pre>
  
  <p>I'd expect the result to be <code>[[2d3h 3h] [3h5d 5d]]</code>, but it turned out to be <code>[[2d3h 3h]]</code>. Can you explain why? Thanks in advance.</p>