code: func (efm *Efm) Match(s string) *Match {
  	ms := efm.regex.FindStringSubmatch(s)
  	if len(ms) == 0 {
  		return nil
  	}
  	match := &Match{}
  	names := efm.regex.SubexpNames()
  	for i, name := range names {
  		if i == 0 {
  			continue
  		}
  		m := ms[i]
  		switch name {
  		case "f":
  			match.F = m
  		case "n":
  			match.N = mustAtoI(m)
  		case "l":
  			match.L = mustAtoI(m)
  		case "c":
  			match.C = mustAtoI(m)
  		case "t":
  			match.T = m[0]
  		case "m":
  			match.M = m
  		case "r":
  			match.R = m
  		case "p":
  			match.P = m
  		case "v":
  			match.V = mustAtoI(m)
  		case "s":
  			match.S = m
  		}
  	}
  	return match
  }
docs: // Match returns match against given string.