package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?m)^(?![ \t]*///[ \t]*engineer).*[\r\n]+\s*((?:public|private).*)`)
var str = `using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication7
{
/// <summary>
/// Blah blah
/// </summary>
/// engineer: blehbleh
public class Class1
{
/// <summary>
/// constructor
/// </summary>
/// engineer: mme
public Class1()
{
}
/// <summary>
/// get data
/// </summary>
/// <param name="i">i param</param>
/// <returns>o param</returns>
public int GetData(int i)
{
return i;
}
}
}`
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/