package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?m)^\w+(?:[ `'?!]\w+)*[`.?!]?$`)
var str = `"Don't use" -> valid sequence
"Don''t use" -> invalid sequence
"Don'?!%^t use" -> invalid sequence
"Be quiet!" -> valid sequence
"Be quiet!><" -> invalid sequence
"123 Your name?" -> valid sequence
"123 Your name?;'" -> invalid sequence
Don't use
Don''t use
Don'?!%^t use
Be quiet!
Be quiet!><
123 Your name?
123 Your name?;'
`
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/