为了账号安全,请及时绑定邮箱和手机立即绑定

golang regexp.matchString 有什么问题?

golang regexp.matchString 有什么问题?

Go
梵蒂冈之花 2021-11-22 17:49:02
谁能解释一下为什么要打这场比赛?来源:package mainimport "fmt"import "regexp"func main() {    match, _ := regexp.MatchString("[a-z]+", "test?")    fmt.Printf("the result of match: %v", match)}golang的regexp.MatchString不是完全匹配吗?我无法理解,我是 golang 的新手
查看完整描述

1 回答

?
噜噜哒

TA贡献1784条经验 获得超7个赞

正则表达式“[az]+”将匹配“test”是搜索文本“test?”。
同样,它会匹配“ testing testing”、“2001 a space oddessy”等。

Go lang 的regexp 包根据正则表达式的语法含义匹配搜索文本。没有一种方法本身尝试将正则表达式与整个搜索文本匹配,如果不能,则放弃,除非正则表达式定义整个搜索文本匹配是必需的行为。

正则表达式的语法确实可以匹配整个搜索文本。

'^',正则表达式开头的起始锚符号强制匹配包含搜索文本的开头。
'$',正则表达式末尾的结束锚符号强制匹配包括搜索文本的结尾。
它们在正则表达式中的其他位置具有不同的含义。

正如@TomCooper 所评论的那样,在您要查找的正则表达式模式周围同时使用开始和结束锚点。这些将封闭的正则表达式锚定到搜索文本的开头和结尾,以确保整个搜索文本与正则表达式匹配。


查看完整回答
反对 回复 2021-11-22
  • 1 回答
  • 0 关注
  • 196 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信