package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?m)^id:\s*\d+\s+synset:\s*(?:\w+,)*\w+$`)
var str = `SHOULD MATCH
id: 12345 synset: word1
id: 12345 synset: word1,word2
id: 12345 synset: word1,word2,word3
id:12345 synset:word1,word2
SHOULDN'T MATCH
id: abc synset: word1,word2
id: 12345synset: word1,word2
id: 12345 synset: *$%%/
id2: 12345 synset2: word1`
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/