第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

從無(wú)格式文本中提取多個(gè)值

從無(wú)格式文本中提取多個(gè)值

Go
千萬(wàn)里不及你 2022-05-23 17:45:11
我的問(wèn)題是如何從這個(gè)多行文本中提取Count:, Temp:, Total:,后面的值。Used:Welcome, user [User CP]   [Count: 1,014,747.1] [some] [Ohter: 0]Temp:  14.231  Total:  10.0 TB Used:  964.57 GB  On line:  2  0 Traffic Count: 199510 (0 New)   0所以我可以得到這些值,,,1,014,747.1然后分配給一個(gè)像14.23110.0TB964.57GBstruct {    Count float64    Temp  float64    Total string    Used  string}我嘗試過(guò)使用正則表達(dá)式,但它導(dǎo)致我需要編寫(xiě)四個(gè)正則表達(dá)式并使用相同的文本運(yùn)行四次以逐個(gè)提取這些值。為什么我需要運(yùn)行 4 次很清楚,因?yàn)槲揖帉?xiě)了 4 個(gè) regxp 來(lái)提取 for 值。var count = regexp.MustCompile(`(?m)(Count:\s*(\d+([\,]\d+)*([\.]\d+)))`)var temp = regexp.MustCompile(`(?m)(Temp:\s*(\d+[\.]?\d*))`)var total = regexp.MustCompile(`(?m)(Total:\s*(\d+\.?\d*\s\w\w))`)var used = regexp.MustCompile(`(?m)(Used:\s*(\d+\.?\d*\s\w\w))`)// run these regexp to get values我試過(guò)使用一個(gè)正則表達(dá)式,但匹配結(jié)果包含很多空元素,我無(wú)法通過(guò)固定索引獲取值。package mainimport (    "regexp"    "fmt")func main() {    var re = regexp.MustCompile(`(?m)(Count:\s*(\d+([\,]\d+)*([\.]\d+)))|(Temp:\s*(\d+[\.]?\d*))|(Total:\s*(\d+\.?\d*\s\w\w))|(Used:\s*(\d+\.?\d*\s\w\w))`)    var str = `Welcome, user [User CP]   [Count: 1,014,747.1] [some] [Ohter: 0]Temp:  14.231  Total:  10.0 TB Used:  964.57 GB  On line:  2  0 Traffic Count: 199510 (0 New)   0`    for i, match := range re.FindAllStringSubmatch(str, -1) {        fmt.Println(match, "found at index", i)    }}結(jié)果是,結(jié)果中有一些不同數(shù)量的空元素,所以我無(wú)法通過(guò)修復(fù)索引獲取值。[Count: 1,014,747.1 Count: 1,014,747.1 1,014,747.1 ,747 .1      ] found at index 0[Temp:  14.231     Temp:  14.231 14.231    ] found at index 1[Total:  10.0 TB       Total:  10.0 TB 10.0 TB  ] found at index 2[Used:  964.57 GB         Used:  964.57 GB 964.57 GB] found at index 31,014,747.1在索引 2,14.231在索引 6,10.0 TB在索引 8,964.57 GB在索引 10。所以我無(wú)法通過(guò)使用固定索引來(lái)獲取值。https://regex101.com/r/jenOHn/3上更清晰的子組結(jié)果,匹配信息顯示了問(wèn)題。那么有沒(méi)有更優(yōu)雅的方式來(lái)提取這些值呢?值的順序可能會(huì)有所不同,并且在文本之間可能有一些額外的單詞(或遺漏了一些單詞),因此無(wú)法按計(jì)數(shù)長(zhǎng)度進(jìn)行提取。我曾考慮過(guò)使用有限狀態(tài)機(jī),但不知道如何實(shí)現(xiàn)它,我也不確定這是一種正確的方法。
查看完整描述

1 回答

?
慕斯709654

TA貢獻(xiàn)1840條經(jīng)驗(yàn) 獲得超5個(gè)贊

看起來(lái)你有大量的捕獲組,你實(shí)際上并沒(méi)有嘗試捕獲,還有很多不必要的指定的東西,還有一個(gè)丟失的s標(biāo)志。我已經(jīng)清理了表達(dá)式并且它有效: https: //play.golang.org/p/D9WxFCYQ8s0

(?ms)Count:\s*([0-9,.]+).*Temp:\s*([0-9.]+).*Total:\s*([0-9.]+).*Used:\s*([0-9.]+)


查看完整回答
反對(duì) 回復(fù) 2022-05-23
  • 1 回答
  • 0 關(guān)注
  • 191 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)