>String cRegEx = "(1[012]|[1-9]):[0-5][0-9](\\s)?(?i)(am|pm)"; >MatchCollection matches = Regex.Matches("10:00 AM", cRegEx, RegexOptions.IgnoreCase); >foreach (Match m in matches) > { > Console.WriteLine(m.Groups[0]); > Console.WriteLine(m.Groups[1]); > Console.WriteLine(m.Groups[2]); > }You could use DateTime.Parse to get a DateTime object instead. Easier to read and parse the values from.