func TestMongo2Regex(t *testing.T) {
str := "复制组件.*"
//if len(str) == 0 {
// return ""
//}
var data = []byte(str)
var specialCharacter = []byte("*.?+$^[](){}|\\/")
result := ""
for i, v := range str {
res := fmt.Sprintf("%c", v)
for j := 0; j < len(specialCharacter); j++ {
if specialCharacter[j] == data[i] {
res = "\\" + string(data[i])
break
}
}
result = result + res
}
fmt.Println(result)
}
标准用法
func MongoRegex(str string) string {
if len(str) == 0 {
return ""
}
var data = []byte(str)
var specialCharacter = []byte("*.?+$^[](){}|\\/")
result := ""
for i, v := range str {
res := fmt.Sprintf("%c", v)
for j := 0; j < len(specialCharacter); j++ {
if specialCharacter[j] == data[i] {
res = "\\" + string(data[i])
break
}
}
result = result + res
}
return result
}