diff --git a/pkg/protocol/RegexMatcher.go b/pkg/protocol/RegexMatcher.go new file mode 100644 index 0000000..e6a5d63 --- /dev/null +++ b/pkg/protocol/RegexMatcher.go @@ -0,0 +1,23 @@ +package protocol + +import "regexp" + +// CreateRegexMatcher Création d'une instance de RegexMatcher +func CreateRegexMatcher(pattern string) *RegexMatcher { + compile, err := regexp.Compile(pattern) + if err != nil { + return nil + } + + return &RegexMatcher{matcher: compile} +} + +// RegexMatcher Propose des méthodes relatives au matching de chaine de caractère +type RegexMatcher struct { + matcher *regexp.Regexp +} + +// match Permet de vérifier la validité d'une donnée affiliée à un protocole +func (m RegexMatcher) match(data string) bool { + return m.matcher.MatchString(data) +}