亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 golangs regex 解析體育成績

使用 golangs regex 解析體育成績

Go
catspeake 2021-09-27 16:44:17
我正在嘗試使用 golang regex 來解析體育分數,但找不到原因,為什么它不解析所有分數部分,而只解析第一個和最后一個。package mainimport (    "fmt"    "regexp")func main() {    var FirstQuarterBasketballRegexp = regexp.MustCompile(`^(\d+:\d+)\s\((?:(\d+:\d+)(?:,\s)?)+\)$`)    fmt.Printf("%q\n", FirstQuarterBasketballRegexp.FindAllStringSubmatch("102:72 (28:17, 27:15, 24:14, 23:26)", -1))}它打印一個字符串[["102:72 (28:17, 27:15, 24:14, 23:26)" "102:72" "23:26"]]為什么它在一個切片中只包含 3 個元素?
查看完整描述

1 回答

?
qq_遁去的一_1

TA貢獻1725條經驗 獲得超8個贊

它返回 3 個元素,因為有第 0 個組(整個字符串)和 2 個捕獲組:


1.  [0-6]   `102:72`

2.  [29-34] `23:26`

現在,您應該考慮您需要什么,并且只使用您需要的東西。


或許,你正在尋找的(\d+:\d+)那會回來


102:72

28:17

27:15

24:14

23:26

試試這個代碼(示例程序可在此處獲得):


func main() {

    var FirstQuarterBasketballRegexp = regexp.MustCompile(`\d+:\d+`)

    fmt.Printf("%q\n", FirstQuarterBasketballRegexp.FindAllStringSubmatch("102:72 (28:17, 27:15, 24:14, 23:26)", -1))

}

輸出:


[["102:72"] ["28:17"] ["27:15"] ["24:14"] ["23:26"]] 


查看完整回答
反對 回復 2021-09-27
  • 1 回答
  • 0 關注
  • 200 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號