code: func Re(field string, re string) Matcher {
  	regexpCache.RLock()
  	if r, ok := regexpCache.m[re]; ok {
  		regexpCache.RUnlock()
  		return NewFieldMatcher(field, &regexpMatcher{r: r})
  	}
  	regexpCache.RUnlock()
  
  	regexpCache.Lock()
  	r, err := regexp.Compile(re)
  	if err == nil {
  		regexpCache.m[re] = r
  	}
  	regexpCache.Unlock()
  
  	return NewFieldMatcher(field, &regexpMatcher{r: r, err: err})
  }
docs: // Re creates a regexp matcher. It checks if the given field matches the given regexp.
  // Note that this only supports fields of type string or []byte.