package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?m)test2(?:\n.*test[234])*?\n.*test4`)
var str = ` 1 test1
2 test2
5 test5
6 test1
7 test2
8 test3
9 test4
10 test5
11 test1
12 test2
13 test3
14 test4
15 test5
1 test1
2 test2
5 test5
6 test1
7 test2
8 test3
9 test4
10 test5
11 test1
12 test2
13 test3
14 test4
14 test4
14 test4
15 test5`
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/