using System; using System.Text.RegularExpressions; public class Test { public static void Main() { var data = new[] { "AB7YT1M=ABC", "AB10YT1M=ABC", "AB30YT1M=ABC", "ABCDEF1Y1M=A", "ABCDEF34Y6M=A", "ABCDEF7M=A" }; Regex r = new Regex(@"(?:(\d+)Y)?T?(?:(\d+)M)"); foreach (var s in data) { var m = r.Match(s); if (m.Success) { var yy = m.Groups[1]; var mm = m.Groups[2]; Console.WriteLine("Y='{0}', M='{1}'", yy, mm); } } } }