using System;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
string[] inputstrings = new string[] { "Total Hours Worked (.5);", "Total Hours Worked (.A);", "Total Hours Worked (A);" };//Collection of inputs.
Regex rgx = new Regex(@"\(\.?(?<StringValue>[a-zA-Z]*)\)\;{1}");//Regular expression to find all matches.
foreach (string input in inputstrings)//Iterate through each string in collection.
{
Match match = rgx.Match(input);
if (match.Success)//If a match is found.
{
string value = match.Groups[1].Value;//Capture first named group.
Console.WriteLine(value);//Display captured substring.
}
else//If nothing is found.
{
Console.WriteLine("A match was not found.");
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnM7CgpwdWJsaWMgY2xhc3MgVGVzdAp7CglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCgl7CgkJICAgIHN0cmluZ1tdIGlucHV0c3RyaW5ncyA9IG5ldyBzdHJpbmdbXSB7ICJUb3RhbCBIb3VycyBXb3JrZWQgKC41KTsiLCAiVG90YWwgSG91cnMgV29ya2VkICguQSk7IiwgIlRvdGFsIEhvdXJzIFdvcmtlZCAoQSk7IiB9Oy8vQ29sbGVjdGlvbiBvZiBpbnB1dHMuCiAgICAgICAgICAgIFJlZ2V4IHJneCA9IG5ldyBSZWdleChAIlwoXC4/KD88U3RyaW5nVmFsdWU+W2EtekEtWl0qKVwpXDt7MX0iKTsvL1JlZ3VsYXIgZXhwcmVzc2lvbiB0byBmaW5kIGFsbCBtYXRjaGVzLgogICAgICAgICAgICBmb3JlYWNoIChzdHJpbmcgaW5wdXQgaW4gaW5wdXRzdHJpbmdzKS8vSXRlcmF0ZSB0aHJvdWdoIGVhY2ggc3RyaW5nIGluIGNvbGxlY3Rpb24uCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE1hdGNoIG1hdGNoID0gcmd4Lk1hdGNoKGlucHV0KTsKICAgICAgICAgICAgICAgIGlmIChtYXRjaC5TdWNjZXNzKS8vSWYgYSBtYXRjaCBpcyBmb3VuZC4KICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBzdHJpbmcgdmFsdWUgPSBtYXRjaC5Hcm91cHNbMV0uVmFsdWU7Ly9DYXB0dXJlIGZpcnN0IG5hbWVkIGdyb3VwLgogICAgICAgICAgICAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKHZhbHVlKTsvL0Rpc3BsYXkgY2FwdHVyZWQgc3Vic3RyaW5nLgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZS8vSWYgbm90aGluZyBpcyBmb3VuZC4KICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZSgiQSBtYXRjaCB3YXMgbm90IGZvdW5kLiIpOwogICAgICAgICAgICAgICAgfQoJfQp9