Advertisement
SotirovG

Problem2FinalExamJanuary2021

Apr 3rd, 2021
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.67 KB | None | 0 0
  1. package JavaFundamentals.FinalExam;
  2.  
  3. import java.util.Scanner;
  4. import java.util.regex.Matcher;
  5. import java.util.regex.Pattern;
  6.  
  7. public class Problem2 {
  8.     public static void main(String[] args) {
  9.         Scanner read = new Scanner(System.in);
  10.  
  11.         // regex -> "([*@])(?<tag>[A-Z][a-z]{2,})(\1): \[(?<string1>[A-Za-z])\]\|\[(?<string2>[A-Za-z])\]\|\[(?<string3>[A-Za-z])\]\|$"
  12.  
  13.         int loop = Integer.parseInt(read.nextLine());
  14.  
  15.         for (int index = 0; index < loop; index++) {
  16.  
  17.             String encryptedMsg = read.nextLine();
  18.             // match any coincidence and check if find
  19.             Matcher matcher = Pattern.compile("([*@])(?<mark>[A-Z][a-z]{2,})(\\1): \\[(?<firstGroup>[A-Za-z])\\]\\|\\[(?<secondGroup>[A-Za-z])\\]\\|\\[(?<thirdGroup>[A-Za-z])\\]\\|$")
  20.                     .matcher(encryptedMsg);
  21.  
  22.             StringBuilder flag = new StringBuilder();
  23.             StringBuilder group1 = new StringBuilder();
  24.             StringBuilder group2 = new StringBuilder();
  25.             StringBuilder group3 = new StringBuilder();
  26.  
  27.             if (matcher.find()) {
  28.  
  29.                 flag.append(matcher.group("mark"));
  30.                 group1.append(matcher.group("firstGroup"));
  31.                 group2.append(matcher.group("secondGroup"));
  32.                 group3.append(matcher.group("thirdGroup"));
  33.  
  34.  
  35.                 System.out.println(String.format("%s: %s %s %s"
  36.                         , flag, (int) group1.charAt(0)
  37.                         , (int) group2.charAt(0)
  38.                         , (int) group3.charAt(0)));
  39.  
  40.             } else {
  41.                 System.out.println("Valid message not found!");
  42.             }
  43.         }
  44.  
  45.  
  46.     }
  47. }
  48.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement