package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?m)(?s)(?:new\sMyClass\(new\sAnotherClass\(\).*?\))`)
var str = `return new MyClass(constructor, options, ...);
# case 1
var mc = new MyClass();
# case 2
var mc = new MyClass(new AnotherClass());
# case 3
var amc = new MyClass(options, new AnotherClass(), ...);
# case 4
MyClass mc = new MyClass(
something
);
# case 5
MyClass mc = new MyClass(
new AnotherClass()
);
# case 6
MyClass mc = new MyClass(
options, new AnotherClass()
);
# case 7
var amc = new MyClass(new AnotherClass(), options, ...);`
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/