golang regexp.matchString 有什么问题?

谁能解释一下为什么要打这场比赛?


来源:


package main


import "fmt"

import "regexp"


func main() {

    match, _ := regexp.MatchString("[a-z]+", "test?")

    fmt.Printf("the result of match: %v", match)

}

golang的regexp.MatchString不是完全匹配吗?我无法理解,我是 golang 的新手


梵蒂冈之花
浏览 203回答 1
1回答

噜噜哒

正则表达式“[az]+”将匹配“test”是搜索文本“test?”。同样,它会匹配“ testing testing”、“2001 a space oddessy”等。Go lang 的regexp 包根据正则表达式的语法和含义匹配搜索文本。没有一种方法本身尝试将正则表达式与整个搜索文本匹配,如果不能,则放弃,除非正则表达式定义整个搜索文本匹配是必需的行为。正则表达式的语法确实可以匹配整个搜索文本。'^',正则表达式开头的起始锚符号强制匹配包含搜索文本的开头。'$',正则表达式末尾的结束锚符号强制匹配包括搜索文本的结尾。它们在正则表达式中的其他位置具有不同的含义。正如@TomCooper 所评论的那样,在您要查找的正则表达式模式周围同时使用开始和结束锚点。这些将封闭的正则表达式锚定到搜索文本的开头和结尾,以确保整个搜索文本与正则表达式匹配。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go