Advertisement
Danny_Berova

04.TreasureMap vers.2

Feb 10th, 2018
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.28 KB | None | 0 0
  1. using System;
  2. using System.Text;
  3. using System.Text.RegularExpressions;
  4.  
  5. namespace _04.TreasureMap
  6. {
  7.     public class TreasureMap
  8.     {
  9.         public static void Main()
  10.         {
  11.             string pattern = @"([!|#])[^!#]*?\b(?<street>[A-Za-z]{4})\b[^!#]*[^\d](?<number>\d{3})-(?<pass>\d{6}|\d{4})(?:[^\d!#][^!#]*)?[^\1]?";
  12.             var regex = new Regex(pattern);
  13.             var output = new StringBuilder();
  14.  
  15.             var n = int.Parse(Console.ReadLine().Trim());
  16.             for (int line = 0; line < n; line++)
  17.             {
  18.                 var inputLine = Console.ReadLine();
  19.  
  20.                 if (regex.IsMatch(inputLine))
  21.                 {
  22.                     var matches = regex.Matches(inputLine);
  23.                     var mostInnerValidIndex = matches.Count / 2;
  24.                     var validMessage = matches[mostInnerValidIndex];
  25.  
  26.                     var streetName = validMessage.Groups["street"].Value;
  27.                     var streetNumber = validMessage.Groups["number"].Value;
  28.                     var pass = validMessage.Groups["pass"].Value;
  29.                     output.AppendLine($"Go to str. {streetName} {streetNumber}. Secret pass: {pass}.");
  30.                 }
  31.             }
  32.  
  33.             Console.WriteLine(output.ToString().Trim());
  34.         }
  35.     }
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement