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)
|
||
|
}
|