首頁 > 後端開發 > Golang > 主體

如何在 Go 正規表示式中捕捉重複組?

Susan Sarandon
發布: 2024-10-26 08:36:30
原創
214 人瀏覽過

How to Capture Repeating Groups in Go Regular Expressions?

在GO 捕獲重複群組

嘗試解析遵循特定格式的字串時,例如大寫單字後跟零個或多個雙精度數- 引號的參數,有必要定義一個捕獲所需元素的正規表示式。在提供的場景中,嘗試使用以下正規表示式擷取重複參數:

re1, _ := regexp.Compile(`([A-Z]+)(?: "([^"]+)")*`)
登入後複製

無法正確捕捉所有參數。為了解決這個問題,建議修改正規表示式:

re1, _ := regexp.Compile(`([A-Z]+)|(?: "([^"]+)")`)
登入後複製

這個修改後的正規表示式符合大寫單字或雙引號字串,而不捕捉周圍的引號。這種方法可以更好地捕獲重複參數,如以下程式碼片段所示:

results := re1.FindAllStringSubmatch(`COMMAND "arg1" "arg2" "arg3"`, -1)

fmt.Println("Command:", results[0][1])
for _, arg := range results[1:] {
    fmt.Println("Arg:", arg[2])
}
登入後複製

此修改後的方法成功捕獲命令及其三個參數並單獨列印它們。

以上是如何在 Go 正規表示式中捕捉重複組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!