mirror of
https://github.com/TwiN/gatus.git
synced 2024-11-21 23:43:27 +01:00
21 lines
607 B
Go
21 lines
607 B
Go
package pattern
|
|
|
|
import (
|
|
"path/filepath"
|
|
"strings"
|
|
)
|
|
|
|
// Match checks whether a string matches a pattern
|
|
func Match(pattern, s string) bool {
|
|
if pattern == "*" {
|
|
return true
|
|
}
|
|
// 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), "")
|
|
matched, _ := filepath.Match(pattern, s)
|
|
return matched
|
|
}
|