一道Java密码题!题目要求在截图上

一道Java题,具体要求在截图上!求各路大佬帮助

img


import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;

public class Main {
    public static final String PW_PATTERN = "^(?![A-Za-z0-9]+$)(?![a-z0-9\\W]+$)(?![A-Za-z\\W]+$)(?![A-Z0-9\\W]+$)[a-zA-Z0-9\\W]{8,}$";

    public static void main(String[] args) throws Exception {
        Scanner scanner = new Scanner(System.in);
        List<String> strings = new ArrayList<>();
        int line = scanner.nextInt();
        for (int i = 0; i < line; i++) {
            strings.add(scanner.next());
        }
        // System.out.println(Arrays.toString(strings.toArray()));
        for (String string : strings) {
            if (string.matches(PW_PATTERN)) {
                System.out.println("YES");
            } else {
                System.out.println("NO");
            }
        }
        scanner.close();
    }
}