code: func (md *MobileDetect) match(ruleValue string) bool {
  	//Escape the special character which is the delimiter
  	//rule = strings.Replace(rule, `\`, `\/`, -1)
  	ruleValue = `(?is)` + ruleValue
  	var re *regexp.Regexp
  	re = md.compiledRegexRules[ruleValue]
  	if nil == re {
  		md.compiledRegexRules[ruleValue] = regexp.MustCompile(ruleValue)
  	}
  	re = md.compiledRegexRules[ruleValue]
  	ret := re.MatchString(md.userAgent)
  	return ret
  }
docs: // Some detection rules are relative (not standard),because of the diversity of devices, vendors and
  // their conventions in representing the User-Agent or the HTTP headers.
  // This method will be used to check custom regexes against the User-Agent string.
  // @todo: search in the HTTP headers too.