import re



#/**
#         ogCheckIpAddress
#@brief   Función para determinar si una cadena es una dirección ipv4 válida
#@param 1 string de la ip a comprobar
#@return  0 si es una dirección válida
#@return  1 si NO es una dirección válida
#@exception OG_ERR_FORMAT     formato incorrecto.
#@note
#@todo
#*/ ##
def ogCheckIpAddress(ip):
    """
    Función para determinar si una cadena es una dirección ipv4 válida.

    :param ip: string de la ip a comprobar
    :return: True si es una dirección válida, False si NO es una dirección válida
    """
    if not isinstance(ip, str):
        raise ValueError("Formato incorrecto, el parámetro debe ser una cadena.")

    regex = r"^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$"
    if re.match(regex, ip):
        parts = ip.split('.')
        if all(0 <= int(part) <= 255 for part in parts):
            return True
    return False

