1
0
Fork 0
mirror of https://github.com/TwiN/gatus.git synced 2024-12-14 11:58:04 +00:00
twin-gatus/pattern/pattern.go

21 lines
607 B
Go
Raw Normal View History

2020-10-01 23:57:11 +00:00
package pattern
import (
"path/filepath"
"strings"
)
2020-10-01 23:57:11 +00:00
// Match checks whether a string matches a pattern
func Match(pattern, s string) bool {
if pattern == "*" {
return true
}
2021-01-16 01:11:43 +00:00
// Separators found in the string break filepath.Match, so we'll remove all of them.
// This has a pretty significant impact on performance when there are separators in
// the strings, but at least it doesn't break filepath.Match.
s = strings.ReplaceAll(s, string(filepath.Separator), "")
pattern = strings.ReplaceAll(pattern, string(filepath.Separator), "")
2020-10-01 23:57:11 +00:00
matched, _ := filepath.Match(pattern, s)
return matched
}