reverse.go
func (r *Regexp) Values(s string) url.Values {
	match := r.compiled.FindStringSubmatch(s)
	if match != nil {
		values := url.Values{}
		for k, v := range r.groups {
			values.Add(v, match[r.indices[k]])
		}
		return values
	}
	return nil
}
func (r *Regexp) Values(s string) url.Values {
	match := r.compiled.FindStringSubmatch(s)
	if match != nil {
		values := url.Values{}
		for k, v := range r.groups {
			values.Add(v, match[r.indices[k]])
		}
		return values
	}
	return nil
}
func ( r * Regexp ) Values ( s string ) url . Values { match := r . compiled . FindStringSubmatch ( s ) if match != nil { values := url . Values { } for k , v := range r . groups { values . Add ( v , match [ r . indices [ k ] ] ) } return values } return nil }
// Values matches the regexp and returns the results for positional and
// named groups. Positional values are stored using an empty string as key.
// If the string doesn't match it returns nil.
Values matches the regexp and returns the results for positional and named groups . Positional values are stored using an empty string as key . If the string doesn t match it returns nil .