using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"^(?<indent>\s*)(?<mod1>\w+)\s(?<mod2>\w+)?\s*(?<mod3>\w+)?\s*(?<return>\b\w+)\s(?<name>\w+)\((?<arg>.*?)\)\s*\{(?<body>.+?)^\k<indent>\}";
string substitution = @"";
string input = @"public static FieldsConfig getFieldsConfig(){
if(xxx) {
sssss;
}
return;
}
public String getAsSeparateGroup(String groupName) {
String begin = pattern.substring(0,getStart());
String mid = pattern.substring(getStart(),getEnd());
String finish = pattern.substring(getEnd());
return begin + ""(?<"" + groupName + "">"" + mid + "")"" + finish;
}
@Override
public static final String toString() {
return asString;
}
public String directMatch(String match) {
Matcher matcher = Pattern.compile(getAsSeparateGroup(""test"")).matcher(match);
matcher.find();
String result;
try {
result = matcher.group(""test"");
}catch (Exception ex) {
result = ""empty"";
}
return getPattern() + "":"" + result;
}
}";
RegexOptions options = RegexOptions.Multiline | RegexOptions.Singleline;
Regex regex = new Regex(pattern, options);
string result = regex.Replace(input, 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 C#, please visit: https://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex(v=vs.110).aspx