|
|
|
@ -26,16 +26,8 @@ func MatchSimple(pattern, name string) bool { |
|
|
|
|
if pattern == "*" { |
|
|
|
|
return true |
|
|
|
|
} |
|
|
|
|
rname := make([]rune, 0, len(name)) |
|
|
|
|
rpattern := make([]rune, 0, len(pattern)) |
|
|
|
|
for _, r := range name { |
|
|
|
|
rname = append(rname, r) |
|
|
|
|
} |
|
|
|
|
for _, r := range pattern { |
|
|
|
|
rpattern = append(rpattern, r) |
|
|
|
|
} |
|
|
|
|
simple := true // Does only wildcard '*' match.
|
|
|
|
|
return deepMatchRune(rname, rpattern, simple) |
|
|
|
|
// Does only wildcard '*' match.
|
|
|
|
|
return deepMatchRune([]rune(name), []rune(pattern), true) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Match - finds whether the text matches/satisfies the pattern string.
|
|
|
|
@ -49,16 +41,8 @@ func Match(pattern, name string) (matched bool) { |
|
|
|
|
if pattern == "*" { |
|
|
|
|
return true |
|
|
|
|
} |
|
|
|
|
rname := make([]rune, 0, len(name)) |
|
|
|
|
rpattern := make([]rune, 0, len(pattern)) |
|
|
|
|
for _, r := range name { |
|
|
|
|
rname = append(rname, r) |
|
|
|
|
} |
|
|
|
|
for _, r := range pattern { |
|
|
|
|
rpattern = append(rpattern, r) |
|
|
|
|
} |
|
|
|
|
simple := false // Does extended wildcard '*' and '?' match.
|
|
|
|
|
return deepMatchRune(rname, rpattern, simple) |
|
|
|
|
// Does extended wildcard '*' and '?' match.
|
|
|
|
|
return deepMatchRune([]rune(name), []rune(pattern), false) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func deepMatchRune(str, pattern []rune, simple bool) bool { |
|
|
|
|