import re


def is_strong_pw(text: str) -> bool:
    """Is strong password

    Uses three :py:mod:`re` object patterns to check if a given text is at least 8 numbers
    and characters long, has at least one uppercase and lowercase character, and has at least
    one digit.

    Args:
        text: String containing password to test strength of.

    Returns:
        True if the given text matches the regex patterns, False otherwise.
    """
    length_regex = re.compile(r"[\d\w]{8,}")  #: At least 8 numbers and characters
    upper_lower_regex = re.compile(r"[a-z|A-Z]?[A-Z]+")  #: At least 1 upper and lower character
    digit_regex = re.compile(r"[\d]+")  #: At least one digit

    if not length_regex.search(text):
        return False
    if not digit_regex.search(text):
        return False
    if not upper_lower_regex.search(text):
        return False
    return True