package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?i)((?:[\w'-]+,\s+)+(?:[\w'-]+\s){0,2}[\w'-]+)(\s+(and|or)\s+[\w'-]+)`)
var str = `I love my parents, Bon Jovi and Lada Gaga.
We invited the strippers, Hitler and Stalin.
The problem is, you can never know if the user is making a list, or just typing a bunch of words and inserting commas.
I'm not sure whether to eat, shoot or leave!
List of words: can, can't and won't.
I will not use three-legged, blue or wooden stools.
Don't get this one or I'll be upset at you.
Put a command before this and I'll be sad.`
var substitution = "$1,$2"
fmt.Println(re.ReplaceAllString(str, substitution))
}
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/