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

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

Go 中字符串末尾的正則表達(dá)式匹配失敗

Go 中字符串末尾的正則表達(dá)式匹配失敗

Go
尚方寶劍之說 2023-07-17 14:40:58
我正在嘗試針對以下模式測試一個(gè)字符串:“至少一對方括號(hào),包含 2 位數(shù)字,后跟至少一個(gè)字符”。例如,[11][22][33]dd應(yīng)該匹配而不應(yīng)該匹配[11][22][33]。我已經(jīng)嘗試過這個(gè)正則表達(dá)式:(\[\d{2}])+.+. 然而,當(dāng)它與 進(jìn)行測試時(shí)[11][22][33],它應(yīng)該會(huì)失敗,但它仍然通過了該測試。第一個(gè)+量詞僅匹配兩組[11]和[22],其余部分[33]匹配.+。我認(rèn)為量詞的“貪婪”行為+會(huì)耗盡它所修改的組的所有匹配段;然而,正則表達(dá)式引擎似乎會(huì)將“耗盡所有匹配可能性”原則置于“貪婪量詞”規(guī)則之上,而不是我所期望的方式。我應(yīng)該如何實(shí)現(xiàn)我的目標(biāo)?(這個(gè)問題實(shí)際上與語言無關(guān),盡管標(biāo)有“golang”,這是我當(dāng)前使用的語言。)
查看完整描述

2 回答

?
慕標(biāo)琳琳

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

您可以使用


re := regexp.MustCompile(`(?:\[\d{2}])+(.*)`)

match := re.FindStringSubmatch(s)

if len(match) > 1 {

    return match[1] != ""

}

return false

該(?:\[\d{2}])+(.*)模式匹配 1+ 次出現(xiàn)[,2 個(gè)數(shù)字,]然后將除換行符之外的任何 0 個(gè)或更多字符捕獲到組 1 中。然后,如果找到匹配項(xiàng) ( if len(match) > 1),true則如果組 1 值不為空,則應(yīng)返回 ( match[1] != ""),否則false返回。


請參閱Go 演示


package main


import (

    "fmt"

    "regexp"

)


func main() {

    strs := []string{

        "[11][22][33]",

        "___[11][22][33]",

        "[11][22][33]____",

        "[11][22]____[33]",

    }

    for _, str := range strs {

        fmt.Printf("%q - %t\n", str, match(str))

    }

}


var re = regexp.MustCompile(`(?:\[\d{2}])+(.*)`)


func match(s string) bool {

    match := re.FindStringSubmatch(s)

    if len(match) > 1 {

        return match[1] != ""

    }

    return false

}

輸出:


"[11][22][33]" - false

"___[11][22][33]" - false

"[11][22][33]____" - true

"[11][22]____[33]" - true


查看完整回答
反對 回復(fù) 2023-07-17
?
白衣非少年

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

我認(rèn)為您需要使用的正則表達(dá)式是這樣的:

(\[[0-9]{2}\]){1,}[a-z]{1,}


查看完整回答
反對 回復(fù) 2023-07-17
  • 2 回答
  • 0 關(guān)注
  • 173 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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