using System;
using System.Text.RegularExpressions;
class Example
{
static void Main()
{
string text = "start <p>I want to capture this</p> also <p>this</p> end";
string pat = @"<p>(.+?)</p>";
// Instantiate the regular expression object.
Regex r = new Regex(pat, RegexOptions.IgnoreCase);
// Match the regular expression pattern against a text string.
Match m = r.Match(text);
int matchCount = 0;
while (m.Success)
{
Console.WriteLine("Match"+ (++matchCount));
for (int i = 1; i <= 2; i++)
{
Group g = m.Groups[i];
Console.WriteLine("Group"+i+"='" + g + "'");
CaptureCollection cc = g.Captures;
for (int j = 0; j < cc.Count; j++)
{
Capture c = cc[j];
System.Console.WriteLine("Capture"+j+"='" + c + "', Position="+c.Index);
}
}
m = m.NextMatch();
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnM7CgpjbGFzcyBFeGFtcGxlIAp7CiAgIHN0YXRpYyB2b2lkIE1haW4oKSAKICAgewogICAgICBzdHJpbmcgdGV4dCA9ICJzdGFydCA8cD5JIHdhbnQgdG8gY2FwdHVyZSB0aGlzPC9wPiBhbHNvIDxwPnRoaXM8L3A+IGVuZCI7CiAgICAgIHN0cmluZyBwYXQgPSBAIjxwPiguKz8pPC9wPiI7CgogICAgICAvLyBJbnN0YW50aWF0ZSB0aGUgcmVndWxhciBleHByZXNzaW9uIG9iamVjdC4KICAgICAgUmVnZXggciA9IG5ldyBSZWdleChwYXQsIFJlZ2V4T3B0aW9ucy5JZ25vcmVDYXNlKTsKCiAgICAgIC8vIE1hdGNoIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gcGF0dGVybiBhZ2FpbnN0IGEgdGV4dCBzdHJpbmcuCiAgICAgIE1hdGNoIG0gPSByLk1hdGNoKHRleHQpOwogICAgICBpbnQgbWF0Y2hDb3VudCA9IDA7CiAgICAgIHdoaWxlIChtLlN1Y2Nlc3MpIAogICAgICB7CiAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCJNYXRjaCIrICgrK21hdGNoQ291bnQpKTsKICAgICAgICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gMjsgaSsrKSAKICAgICAgICAgewogICAgICAgICAgICBHcm91cCBnID0gbS5Hcm91cHNbaV07CiAgICAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCJHcm91cCIraSsiPSciICsgZyArICInIik7CiAgICAgICAgICAgIENhcHR1cmVDb2xsZWN0aW9uIGNjID0gZy5DYXB0dXJlczsKICAgICAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBjYy5Db3VudDsgaisrKSAKICAgICAgICAgICAgewogICAgICAgICAgICAgICBDYXB0dXJlIGMgPSBjY1tqXTsKICAgICAgICAgICAgICAgU3lzdGVtLkNvbnNvbGUuV3JpdGVMaW5lKCJDYXB0dXJlIitqKyI9JyIgKyBjICsgIicsIFBvc2l0aW9uPSIrYy5JbmRleCk7CiAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBtID0gbS5OZXh0TWF0Y2goKTsKICAgICAgfQogICB9Cn0K