Golang 中的正则表达式不匹配

我目前正在使用包sqlmock为 SQL 编写测试,但是,我一直无法找到一个正则表达式,它似乎与我认为的相对简单的表达式相匹配。


我在下面的代码中包含了一个播放网址。但是,我不确定为什么这些字符串不匹配?


http://play.golang.org/p/I6QZkjkLmj


package main


import (

    "fmt"

    "regexp"

)


var myExp = regexp.MustCompile(`SELECT count(\*) FROM video_resource WHERE key = $1`)


func main() {

    fmt.Println(myExp)

    fmt.Println("SELECT count(\\*) FROM video_resource WHERE key = $1")

    matched := myExp.MatchString("SELECT count(\\*) FROM video_resource WHERE key = $1")

    fmt.Println(matched)

    fmt.Printf("%+v", myExp.MatchString("SELECT count(*) FROM video_resource WHERE key = $1"))

}


慕盖茨4494581
浏览 463回答 2
2回答

翻阅古今

您的正则表达式包含需要转义的元字符。regexp.MustCompile(`SELECT count\(\*\) FROM video_resource WHERE key = \$1`)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go