import re


def verify_duration(time_str):
    """
    This is to verify the duration which is the journey length between two stations.
    It is in the format of 'Hour:Minute'.
    * Hour can be any number of digits and the value must be greater or equal than 0;
    * Minute can have one or two digits and the value must be greater or equal than 0 and smaller than 60; 
    * They can't be both 0, in another word, duration can't be zero.
    
    :param time_str: 
    :return: 
    """
    if not isinstance(time_str, str):
        return False
    time_format = r'^(\d+):(\d{1,2})$'
    duration = re.match(time_format, time_str)
    if duration:
        minutes = int(duration.group(2))
        hour = int(duration.group(1))
        if 0 <= minutes < 60 and hour >= 0 and any([hour, minutes]):
            return True
        else:
            print('Minute should be within [0, 60)')
            return False
    else:
        print("Invalid format, should be '%H:%M' ")
        return False