Advertisement
SPDG57

Password - Regex, grouping and quantifiers

Nov 30th, 2019
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.37 KB | None | 0 0
  1. package com.company;
  2.  
  3. import javafx.util.Pair;
  4.  
  5. import javax.xml.crypto.dsig.keyinfo.KeyValue;
  6. import java.security.KeyStore;
  7. import java.text.Collator;
  8. import java.text.DecimalFormat;
  9. import java.util.*;
  10. import java.util.function.Predicate;
  11. import java.util.regex.Matcher;
  12. import java.util.regex.Pattern;
  13. import java.util.stream.Collector;
  14. import java.util.stream.Collectors;
  15.  
  16.  
  17. public class Main {
  18.  
  19.     public static void main(String[] args) {
  20.         Scanner scanner = new Scanner(System.in);
  21.  
  22.         final String REGEX = "^(.+)>(?<numbers>\\d{3})\\|(?<letters>[a-z]{3})\\|(?<bigletters>[A-Z]{3})\\|(?<symbols>[^><]{3})<\\1$";
  23.         Pattern pattern = Pattern.compile(REGEX);
  24.  
  25.         int n = Integer.parseInt(scanner.nextLine());
  26.  
  27.         for (int i = 0; i < n; i++) {
  28.             String line = scanner.nextLine();
  29.  
  30.             Matcher matcher = pattern.matcher(line);
  31.  
  32.             if(matcher.find()){
  33.                 String numbers = matcher.group("numbers");
  34.                 String letters = matcher.group("letters");
  35.                 String bigletters = matcher.group("bigletters");
  36.                 String symbols = matcher.group("symbols");
  37.  
  38.                 System.out.printf("Password: %s%s%s%s\n", numbers, letters, bigletters, symbols);
  39.             }else{
  40.                 System.out.println("Try another password!");
  41.             }
  42.         }
  43.     }
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement