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

如何在 Go 中擷取多個引用組:正規表示式解決方案

Mary-Kate Olsen
發布: 2024-10-26 00:53:28
原創
879 人瀏覽過

How to Capture Multiple Quoted Groups in Go: A Regex Solution

在Go 中捕獲多個引用組

本文解決了解析遵循特定格式的字符串的挑戰:大寫命令後跟可選引用的論點。目標是將命令和參數提取為單獨的字串。

為了處理此任務,使用正規表示式: re1, _ := regexp.Compile(([A-Z] )(?: " (1)" )*)。第一個捕獲組([A-Z] ) 匹配大寫命令,而第二個捕獲組(?: "([^"] )")* 匹配零個或多個帶引號的參數。

但是,提供的程式碼僅捕獲最後一個參數。 >1 )"))。此正規表示式使用聯合| 來允許指令或參數。透過將程式碼修改為:

現在可以成功擷取所有參數。 >↩
<code class="go">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])
}</code>
登入後複製

以上是如何在 Go 中擷取多個引用組:正規表示式解決方案的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板