誰能解釋一下為什么要打這場比賽?來源: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貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超7個贊
正則表達(dá)式“[az]+”將匹配“test”是搜索文本“test?”。
同樣,它會匹配“ testing testing”、“2001 a space oddessy”等。
Go lang 的regexp 包根據(jù)正則表達(dá)式的語法和含義匹配搜索文本。沒有一種方法本身嘗試將正則表達(dá)式與整個搜索文本匹配,如果不能,則放棄,除非正則表達(dá)式定義整個搜索文本匹配是必需的行為。
正則表達(dá)式的語法確實(shí)可以匹配整個搜索文本。
'^',正則表達(dá)式開頭的起始錨符號強(qiáng)制匹配包含搜索文本的開頭。
'$',正則表達(dá)式末尾的結(jié)束錨符號強(qiáng)制匹配包括搜索文本的結(jié)尾。
它們在正則表達(dá)式中的其他位置具有不同的含義。
正如@TomCooper 所評論的那樣,在您要查找的正則表達(dá)式模式周圍同時(shí)使用開始和結(jié)束錨點(diǎn)。這些將封閉的正則表達(dá)式錨定到搜索文本的開頭和結(jié)尾,以確保整個搜索文本與正則表達(dá)式匹配。
- 1 回答
- 0 關(guān)注
- 225 瀏覽
添加回答
舉報(bào)
0/150
提交
取消