Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package JavaFundamentals.FinalExam;
- import java.util.Scanner;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- public class Problem2 {
- public static void main(String[] args) {
- Scanner read = new Scanner(System.in);
- // regex -> "([*@])(?<tag>[A-Z][a-z]{2,})(\1): \[(?<string1>[A-Za-z])\]\|\[(?<string2>[A-Za-z])\]\|\[(?<string3>[A-Za-z])\]\|$"
- int loop = Integer.parseInt(read.nextLine());
- for (int index = 0; index < loop; index++) {
- String encryptedMsg = read.nextLine();
- // match any coincidence and check if find
- Matcher matcher = Pattern.compile("([*@])(?<mark>[A-Z][a-z]{2,})(\\1): \\[(?<firstGroup>[A-Za-z])\\]\\|\\[(?<secondGroup>[A-Za-z])\\]\\|\\[(?<thirdGroup>[A-Za-z])\\]\\|$")
- .matcher(encryptedMsg);
- StringBuilder flag = new StringBuilder();
- StringBuilder group1 = new StringBuilder();
- StringBuilder group2 = new StringBuilder();
- StringBuilder group3 = new StringBuilder();
- if (matcher.find()) {
- flag.append(matcher.group("mark"));
- group1.append(matcher.group("firstGroup"));
- group2.append(matcher.group("secondGroup"));
- group3.append(matcher.group("thirdGroup"));
- System.out.println(String.format("%s: %s %s %s"
- , flag, (int) group1.charAt(0)
- , (int) group2.charAt(0)
- , (int) group3.charAt(0)));
- } else {
- System.out.println("Valid message not found!");
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement