假设用户给出了 str = "[a-z]"
。如何匹配 [^/]
和 [a-z]
?
我想要像 "/[^/]&"+ str + "/"
这样的东西。它应该匹配 asdf
而不是 a/sdf
。
最佳答案
最好分开检查。
package main
import "fmt"
import "regexp"
func main() {
str := "test"
user_provided_pattern := "^[a-z]+\\z"
matched := false
matched_slash, _ := regexp.MatchString("/", str)
if !matched_slash {
matched_user, err := regexp.MatchString(user_provided_pattern, str)
if err != nil {
panic(err)
}
if matched_user {
matched = true
}
}
fmt.Println(matched)
}
这是我的第一个围棋程序——我以前从未见过围棋程序——所以请原谅任何奇怪的地方。
关于正则表达式需要 [^/] 和另一个用户定义的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44334512/