首頁 > 後端開發 > Golang > 如何在Go正規表示式中使用捕獲組?

如何在Go正規表示式中使用捕獲組?

Mary-Kate Olsen
發布: 2024-12-26 12:37:09
原創
856 人瀏覽過

How Can I Use Capturing Groups in Go Regular Expressions?

在Go 正規表示式中捕捉群組

將程式碼從Ruby 移植到Go 時,開發人員經常會遇到正規表示式的相容性問題。 Ruby 支援在正規表示式中擷取群組,這是 Go 的 RE2 程式庫本身不提供的功能。

重寫 Go 表達式

要模擬捕獲組功能,可以執行以下步驟拍攝:

1。使用命名捕獲組:
不要使用尖括號,而是在左括號和組名稱之間添加“P”,例如 (?Pd{4}) 表示年份組。

2.交叉引用組名稱:
利用 regexp.SubexpNames() 函數取得捕獲組名稱清單。

3.存取捕獲的資料:
使用適當的群組名稱作為 FindStringSubmatch 等函數的參數來檢索捕獲的值。

範例:

package main

import (
    "fmt"
    "regexp"
)

func main() {
    r := regexp.MustCompile(`(?P<Year>\d{4})-(?P<Month>\d{2})-(?P<Day>\d{2})`)
    s := `2015-05-27`
    fmt.Printf("Matched Substrings: %#v\n", r.FindStringSubmatch(s))
    fmt.Printf("Group Names: %#v\n", r.SubexpNames())
}
登入後複製

輸出:

Matched Substrings: [2015 05 27]
Group Names: [ Year Month Day ]
登入後複製

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

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