package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?si)translate\s*\((?|'((?:[^']*?(?:\\')[^']*?)*)'|"((?:[^"]*?(?:\\"|)[^"]*?)*)")(?:|[, ]*(?:'|")(.*?)(?:"|'))\)`)
var str = `translate('hello what\'s wrong');
translate('hello what\'s wrong');
translate('hello what\'s wrong');
translate("hello what's w: )rong");
translate("hello whats wrong");
translate('hello what\'s wrong');
translate('hello what\'s wrong', 'namespace');
translate('hell\'o what\'s wro\'ng', 'namespace');
translate("hello what\"s \" s\" wrong", 'namespace');
translate('hell(o) (wh)at\'s wrong', "namespace");
translate("hello what's wrong", "namespace");
translate ('hello what\'s wrong');
translate("hel
lo what's wrong");
translate('hello what\'s wrong', 'namespace');
translate("hello wh
at's wrong", 'namespace');
translate('hello what\'s wrong', "namespace");
translate("hello what's wrong", "namespace");`
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/