import re


def check_valid_md5(data):
    """
    Check if input data is a valid md5 hash string
    """
    if not isinstance(data, str):
        return False
    # note: some other regular expressions -
    #       r'\b[a-f\d]{32}\b|\b[A-F\d]{32}\b'
    #       r'(?i)(?<![a-z0-9])[a-f0-9]{32}(?![a-z0-9])'
    reiter = re.finditer(r'\b(?!^[\d]*$)(?!^[a-fA-F]*$)([a-f\d]{32}|[A-F\d]{32})\b', data)
    result = [match.group(1) for match in reiter]
    return bool(result)