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

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

使用 Regex golang 查找所有字符串匹配項(xiàng)

使用 Regex golang 查找所有字符串匹配項(xiàng)

Go
素胚勾勒不出你 2022-03-02 19:24:25
我正在嘗試返回一個(gè)數(shù)組或切片,其中包含針對字符串的特定正則表達(dá)式的所有匹配項(xiàng)。字符串是:{city}, {state} {zip}我想返回一個(gè)數(shù)組,其中包含大括號之間字符串的所有匹配項(xiàng)。我曾嘗試使用regexp包來完成此操作,但無法弄清楚如何返回我正在尋找的內(nèi)容。這是我當(dāng)前的代碼:r := regexp.MustCompile("/({[^}]*})/") matches := r.FindAllString("{city}, {state} {zip}", -1)但是,無論我嘗試什么,它每次返回的都是一個(gè)空切片。
查看完整描述

1 回答

?
大話西游666

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

首先,您不需要正則表達(dá)式分隔符。其次,使用原始字符串文字來定義正則表達(dá)式模式是一個(gè)好主意,您只需使用 1 個(gè)反斜杠來轉(zhuǎn)義正則表達(dá)式元字符。{第三,僅當(dāng)您需要獲取不帶and的值時(shí)才需要捕獲組},因此,您可以將其刪除以獲取{city}, {state}and {zip}。


您可以使用FindAllString獲取所有匹配項(xiàng):


r := regexp.MustCompile(`{[^{}]*}`)

matches := r.FindAllString("{city}, {state} {zip}", -1)

請參閱Go 演示。


要僅獲取花括號之間的部分,請使用FindAllStringSubmatch包含捕獲括號的模式,{([^{}]*)}:


r := regexp.MustCompile(`{([^{}]*)}`)

matches := r.FindAllStringSubmatch("{city}, {state} {zip}", -1)

for _, v := range matches {

    fmt.Println(v[1])

}

請參閱此 Go 演示。


正則表達(dá)式詳細(xì)信息

  • {- 文字{字符

  • ([^{}]*)- 一個(gè)捕獲組,匹配除 and 之外的任何 0 個(gè)或多個(gè)(由于量詞)字符(是與*{and之間指定的字符之外的任何字符匹配的否定字符類)}[^...][^]

  • }- 文字}字符


查看完整回答
反對 回復(fù) 2022-03-02
  • 1 回答
  • 0 關(guān)注
  • 336 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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