mirror of
https://github.com/mickael-menu/zk
synced 2024-11-15 12:12:56 +00:00
20 lines
403 B
Go
20 lines
403 B
Go
|
package icu
|
||
|
|
||
|
// EscapePattern adds backslash escapes to protect any characters that would
|
||
|
// match as ICU pattern metacharacters.
|
||
|
//
|
||
|
// http://userguide.icu-project.org/strings/regexp
|
||
|
func EscapePattern(s string) string {
|
||
|
out := ""
|
||
|
|
||
|
for _, c := range s {
|
||
|
switch c {
|
||
|
case '\\', '.', '^', '$', '(', ')', '[', ']', '{', '}', '|', '*', '+', '?':
|
||
|
out += `\`
|
||
|
}
|
||
|
out += string(c)
|
||
|
}
|
||
|
|
||
|
return out
|
||
|
}
|