using System; using System.Collections.Generic; using System.Linq; using System.Numerics; using System.Text; using System.Text.RegularExpressions; namespace apps { class Program { static string Get() { return Console.ReadLine(); } static void Main() { // ticket string raw = Get(); List rawList = raw.Split(", ").ToList(); //foreach (var v in rawList) { v.Trim(); } string pattern = @"[A-Za-z]*(?[$|@|#|^]{6,10})[A-Za-z]*[$|@|#|^]{6,10}[A-Za-z]*"; //------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------- MatchCollection matches = Regex.Matches(raw, pattern); for (int i = 0; i < rawList.Count; i++) { Match m = Regex.Match(rawList[i], pattern); if (Regex.IsMatch(rawList[i], pattern)) { int len = m.Groups["money"].Length; string currencies = m.Groups["money"].ToString(); if (m.Length != 20) { Console.WriteLine("invalid ticket"); continue; } char currency = currencies[0]; if (len == 10) { Console.WriteLine($"ticket \"{m}\" - {len}{currency} Jackpot!"); } else { Console.WriteLine($"ticket \"{m}\" - {len}{currency}"); } } else { if (rawList[i].Length == 20) { Console.WriteLine($"ticket \"{rawList[i]}\" - no match"); } else { { Console.WriteLine("invalid ticket"); } } } } }// END MAIN } }