package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?i)(?:UniquePrefixA|UniqueB|UniqueC)\s*(\[some-token\])(?:and|\s)*(\[some-token\])?(\s|[^\[\]])*(\[some-token\])?(\s|[^\[\]])*(\[some-token\])?(\s|[^\[\]])*`)
var str = `Examples 1-3:
[1] UniquePrefixA [some-token] and [some-token] want to take [some-token] to see some monkeys.
[2] UniqueC [some-token] wants to take [some-token] to the store. UniqueB, [some-token] is in the pattern once more.
[3] UniquePrefixA [some-token] is using [some-token] to [some-token].
`
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/