from typing import Any
import re


def can_be_parsed_as_float(value: Any) -> bool:
    """Checks whether a value can be parsed as a float.

    can_be_parsed_as_float(45) -> False
    can_be_parsed_as_float(1.1) -> True
    can_be_parsed_as_float("1.1") -> True
    can_be_parsed_as_float("-1.1") -> True
    can_be_parsed_as_float(".1") -> True

    Args:
        value: The value to be parsed.

    Returns:
        True if the value can be parsed as a float. False otherwise.
    """
    FLOAT_REGEX = r"^\d*\.\d+$"

    if isinstance(value, float):
        return True

    if not isinstance(value, str):
        return False

    value = value.strip()

    if value.startswith("-"):
        value = value[1:]

    return bool(re.match(FLOAT_REGEX, value))