title: Golang: Why does regexp.FindAllStringSubmatch() returns [][]string and not []string?
body: <p>I am kind of new to go and that's the first time I have to deal with regexp.</p>
  
  <p>I am a bit surprised that the <code>someregex.FindAllStringSubmatch("somestring", -1)</code> returns a slice of slice <code>[][]string</code> instead of a simple slice of string : <code>[]string</code>.</p>
  
  <p>example :</p>
  
  <pre class="lang-golang prettyprint-override"><code>someRegex, _ := regexp.Compile("^.*(mes).*$")
  matches := someRegex.FindAllStringSubmatch("somestring", -1)
  fmt.Println(matches) // logs [[somestring mes]]
  </code></pre>
  
  <p>What is the reason of this behavior, I can't figure it out ?</p>