Password Strength Checker

import re

def check_password_strength(password):
    length_criteria = len(password) >= 8
    digit_criteria = re.search(r'\d', password) is not None
    uppercase_criteria = re.search(r'[A-Z]', password) is not None
    lowercase_criteria = re.search(r'[a-z]', password) is not None
    special_char_criteria = re.search(r'[@$!%*?&]', password) is not None

    if all([length_criteria, digit_criteria, uppercase_criteria, lowercase_criteria, special_char_criteria]):
        return "Strong password!"
    elif length_criteria and (digit_criteria or uppercase_criteria or lowercase_criteria):
        return "Moderate password."
    else:
        return "Weak password."

if __name__ == "__main__":
    password_input = input("Enter a password to check its strength: ")
    strength = check_password_strength(password_input)
    print(strength)