package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?m)Last Power Event\.+\s(\w+)\s\S*\s(\d+\/\d+\/\d+\s+\d+\:\d+\d\:\d+)|(?:\s\S+\s)(\d+)\s(\S+)`)
var str = `Last Power Event............. Blackout at 2023/10/23 2:32:24
Last Power Event............. Blackout at 2022/09/24 12:12:24 for 3 sec.
Last Power Event............. Blackout at 2021/07/14 12:12:24
Last Power Event............. Blackout at 2022/09/24 12:12:24 for 4 sec.
Last Power Event............. Blackout at 2022/09/24 12:12:24
`
for i, match := range re.FindAllString(str, -1) {
fmt.Println(match, "found at index", i)
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Golang, please visit: https://golang.org/pkg/regexp/