在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è)子匹配。