package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?m)(ADJ (COMMA ADJ )*)*(NOUN (DASH NOUN )*(DASH )?)*NOUN`)
var str = `STOP VERB NOUN NOUN DASH NOUN PUNCT
STOP VERB STOP ADJ ADJ NOUN STOP STOP ADJ NOUN COMMA NOUN PUNCT
STOP VERB STOP ADJ COMMA ADJ NOUN PUNCT
STOP STOP ADJ DASH ADJ NOUN PUNCT
STOP STOP STOP ADJ NOUN NOUN STOP STOP PUNCT`
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/