如何在 Go Regex 中模擬 Ruby 擷取群組功能
將程式碼從 Ruby 轉換到 Go 時,正規表示式相容性可能是一個挑戰。 Ruby 使用 PCRE,而 Go 使用 Google 的 RE2,這使得開發人員需要調整其表達式的方法。
具體來說,捕獲組功能(允許從匹配模式中提取特定數據)提出了挑戰。要在Go 中複製此功能,可以採取以下步驟:
-
使用命名捕獲組:
將Ruby 捕獲組中使用的括號替換為語法(? P 後面接著模式,例如(?d{4})。 (?Pd{4}).
-
交叉引用組名稱:
對已編譯的正規表示式呼叫 SubexpNames()方法以取得擷取清單群組名稱。使用語法r.FindStringSubmatch(s)[groupName],其中r 是編譯後的正規表示式,s 是輸入字串,groupName是名稱所需的群組。 })-(?Pd{2}),您可以使用以下程式碼:
-
此程式碼將輸出:
第一行依序顯示擷取的值,而第二行顯示擷取群組名稱。的捕獲組功能。
以上是如何在 Go Regex 中複製 Ruby 的擷取組功能?的詳細內容。更多資訊請關注PHP中文網其他相關文章!