Java
import java.util.Scanner;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter password: ");
String pwd = sc.nextLine();
// At least 8 chars, one digit, one lower, one upper
String regex = "^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z]).{8,}$";
boolean strong = Pattern.matches(regex, pwd);
System.out.println(strong ? "Strong password" : "Weak password");
sc.close();
}
}Output
Enter password: Abcdef1g Strong password
We use lookahead-based regex to require digit, lowercase, uppercase, and minimum length.