| 123456789101112131415161718192021222324252627282930313233343536 | package strmatcherimport (	"regexp"	"strings")type fullMatcher stringfunc (m fullMatcher) Match(s string) bool {	return string(m) == s}type substrMatcher stringfunc (m substrMatcher) Match(s string) bool {	return strings.Contains(s, string(m))}type domainMatcher stringfunc (m domainMatcher) Match(s string) bool {	pattern := string(m)	if !strings.HasSuffix(s, pattern) {		return false	}	return len(s) == len(pattern) || s[len(s)-len(pattern)-1] == '.'}type regexMatcher struct {	pattern *regexp.Regexp}func (m *regexMatcher) Match(s string) bool {	return m.pattern.MatchString(s)}
 |