using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string input = @" adas ''[]'foo''[]' ''[]'daf''[]' a";
foreach (Match m in FindString(input, "''[]'", RegexOptions.Multiline))
{
Console.WriteLine("'{0}' found at index {1}.", m.Value, m.Index);
}
}
public static MatchCollection FindString(string input, string delimiter, RegexOptions regexOptions = RegexOptions.Multiline)
{
string pattern = string.Format("{0}(.*?){0}", Regex.Escape(delimiter));
var rx = new Regex(pattern, regexOptions);
return rx.Matches(input);
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnM7CgpwdWJsaWMgY2xhc3MgRXhhbXBsZQp7CiAgICBwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCiAgICB7CiAgICAgICAgc3RyaW5nIGlucHV0ID0gQCIgYWRhcyAnJ1tdJ2ZvbycnW10nICcnW10nZGFmJydbXScgYSI7CiAgICAgICAgCiAgICAgICAgZm9yZWFjaCAoTWF0Y2ggbSBpbiBGaW5kU3RyaW5nKGlucHV0LCAiJydbXSciLCBSZWdleE9wdGlvbnMuTXVsdGlsaW5lKSkKICAgICAgICB7CiAgICAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCInezB9JyBmb3VuZCBhdCBpbmRleCB7MX0uIiwgbS5WYWx1ZSwgbS5JbmRleCk7CiAgICAgICAgfQogICAgfQogICAgCiAgICBwdWJsaWMgc3RhdGljIE1hdGNoQ29sbGVjdGlvbiBGaW5kU3RyaW5nKHN0cmluZyBpbnB1dCwgc3RyaW5nIGRlbGltaXRlciwgUmVnZXhPcHRpb25zIHJlZ2V4T3B0aW9ucyA9IFJlZ2V4T3B0aW9ucy5NdWx0aWxpbmUpCiAgICB7CiAgICAgICAgc3RyaW5nIHBhdHRlcm4gPSBzdHJpbmcuRm9ybWF0KCJ7MH0oLio/KXswfSIsIFJlZ2V4LkVzY2FwZShkZWxpbWl0ZXIpKTsKICAgICAgICB2YXIgcnggPSBuZXcgUmVnZXgocGF0dGVybiwgcmVnZXhPcHRpb25zKTsKICAgICAgICByZXR1cm4gcnguTWF0Y2hlcyhpbnB1dCk7CiAgICB9Cn0=