Go中怎么遍歷正則表達(dá)式的匹配結(jié)果

go
小億
104
2024-04-02 19:39:56

在Go語(yǔ)言中,可以使用正則表達(dá)式的FindAllStringSubmatch方法來(lái)遍歷匹配結(jié)果。這個(gè)方法會(huì)返回一個(gè)二維字符串?dāng)?shù)組,其中每個(gè)元素是一個(gè)匹配結(jié)果的子匹配。以下是一個(gè)示例代碼:

package main

import (
	"fmt"
	"regexp"
)

func main() {
	// 定義正則表達(dá)式
	re := regexp.MustCompile(`(\w+)\s(\w+)`)

	// 要匹配的字符串
	str := "Hello World, again World"

	// 使用FindAllStringSubmatch方法查找匹配結(jié)果
	matches := re.FindAllStringSubmatch(str, -1)

	// 遍歷匹配結(jié)果
	for _, match := range matches {
		for i, m := range match {
			fmt.Printf("Match %d: %s\n", i, m)
		}
	}
}

在這個(gè)示例中,我們定義了一個(gè)簡(jiǎn)單的正則表達(dá)式來(lái)匹配字符串中的單詞,然后使用FindAllStringSubmatch方法來(lái)查找所有匹配結(jié)果。最后,我們遍歷匹配結(jié)果并打印每個(gè)子匹配。

0