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

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

FindStringSubmatch 兩次返回匹配組

FindStringSubmatch 兩次返回匹配組

Go
呼啦一陣風 2021-08-30 15:12:57
也許我錯過了關于 go 的一些非?;镜臇|西regexp.FindStringSubmatch()。我想用字符串后面的所有數字捕獲組,"Serial Number: "但得到意外輸出。我的代碼如下:package mainimport "fmt"import "regexp"func main() {    x := "Serial Number: 12334"    r := regexp.MustCompile(`(\d+)`)    res := r.FindStringSubmatch(x)    for i,val := range res {        fmt.Printf("entry %d:%s\n", i,val)    }}輸出是:entry 0:12334entry 1:12334我更熟悉 python 的分組,這看起來很簡單:>>> re.search('(\d+)', "Serial Number: 12344").groups()[0]'12344'我怎樣才能讓分組在 go 中工作?謝謝
查看完整描述

1 回答

?
夢里花落0921

TA貢獻1772條經驗 獲得超6個贊

來自Regexp.FindStringSubmatch

FindStringSubmatch 返回一段字符串,其中包含 s 中正則表達式最左邊匹配項的文本以及匹配項

所以:

  • 第一個條目是匹配的內容:' 12334'(最左邊的匹配)

  • 第二個條目是捕獲的組:' 12334'

另一個例子:

re := regexp.MustCompile("a(x*)b(y|z)c")
fmt.Printf("%q\n", re.FindStringSubmatch("-axxxbyc-"))

那將打?。?/p>

  • 最左邊的匹配: "axxxbyc"

  • 兩個被捕獲的組: "xxx" "y"


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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