在 Go 語言中從字串中提取所有正則表示式


正則表示式,也稱為 regex 或 regexp,是用於在程式語言中操作和搜尋文字字串的強大工具。Go 語言透過使用內建的 regexp 包提供了對正則表示式的出色支援。在本文中,我們將討論如何在 Go 語言中從給定字串中提取所有正則表示式。

從字串中提取所有正則表示式

為了從 Go 語言中的給定字串中提取所有正則表示式,我們將使用 regexp 包中的 FindAllString 函式。FindAllString 函式返回輸入字串中所有不重疊的正則表示式匹配的切片。以下是 FindAllString 函式的基本語法:

func (re *Regexp) FindAllString(s string, n int) []string

這裡,re 是指向正則表示式物件的指標,s 是輸入字串,n 是要返回的最大匹配數。如果 n 為負數,則 FindAllString 返回所有匹配項。

示例

讓我們看一個示例,瞭解如何從字串中提取所有正則表示式:

package main

import (
   "fmt"
   "regexp"
)

func main() {
   str := "Hello 123 World 456"
   re := regexp.MustCompile(`\d+`)
   result := re.FindAllString(str, -1)
   fmt.Println(result)
}

輸出

[123 456]

在上面的程式碼中,我們定義了一個包含一些數字的字串 str,並建立了一個正則表示式,使用 \d+ 模式匹配一個或多個數字。然後,我們使用 FindAllString 函式從字串 str 中提取與該模式匹配的所有正則表示式。結果變數包含找到的所有正則表示式的切片。

結論

在本文中,我們學習瞭如何使用內建的 regexp 包從 Go 語言中的給定字串中提取所有正則表示式。FindAllString 函式是一個強大的工具,它允許我們從輸入字串中提取正則表示式的所有不重疊匹配項。透過使用此函式,我們可以輕鬆地從字串中提取所有正則表示式,並將其用於進一步處理或分析。

更新於: 2023年4月17日

404 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.