using System;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
string line = "Some () text (1)";
string pattern = @"^(?<text>.+?)(\((?<count>\d+)\))?$";
Match m = Regex.Match(line, pattern);
int count = 0;
string text = "";
if (m.Success)
{
text = m.Groups["text"].Value.Trim();
if(m.Groups["count"].Success) {
int.TryParse(m.Groups["count"].Value, out count);
}
}
Console.WriteLine("Got count = {0}", count.ToString());
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnM7CgpwdWJsaWMgY2xhc3MgVGVzdAp7CglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCgl7CiAgICAgICAgICAgICAgICBzdHJpbmcgbGluZSA9ICJTb21lICgpIHRleHQgKDEpIjsKCQlzdHJpbmcgcGF0dGVybiA9IEAiXig/PHRleHQ+Lis/KShcKCg/PGNvdW50PlxkKylcKSk/JCI7Ck1hdGNoIG0gPSBSZWdleC5NYXRjaChsaW5lLCBwYXR0ZXJuKTsKaW50IGNvdW50ID0gMDsKc3RyaW5nIHRleHQgPSAiIjsKaWYgKG0uU3VjY2VzcykKewogICAgdGV4dCA9IG0uR3JvdXBzWyJ0ZXh0Il0uVmFsdWUuVHJpbSgpOwoKICAgIGlmKG0uR3JvdXBzWyJjb3VudCJdLlN1Y2Nlc3MpIHsKICAgICAgICBpbnQuVHJ5UGFyc2UobS5Hcm91cHNbImNvdW50Il0uVmFsdWUsIG91dCBjb3VudCk7CiAgICB9Cn0KCiAgICAgICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZSgiR290IGNvdW50ID0gezB9IiwgY291bnQuVG9TdHJpbmcoKSk7Cgl9Cn0=