Benjamin
6f097e6642
- Ajoute méthode CreateRegexMatcher, qui crée une instance de RegexMatcher.go et compile le pattern. - Ajout d'un attribut matcher auquel est attribué le retour de la compilation du pattern - Implémentation méthode match, vérifie que la donnée reçue en paramètre respecte le pattern compilé et stocké dans la structure
24 lines
578 B
Go
24 lines
578 B
Go
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)
|
|
}
|