def METHOD_NAME(self, path: str, match_context):
    """
    Find the maximum number of bytes forming a integer number according to the parameters specified.
    @param path to be printed in the MatchElement.
    @param match_context the match_context to be analyzed.
    @return a match when at least one byte being a digit was found.
    """
    data = match_context.match_data
    if not data or (data[0] not in self.start_characters):
        return None
    match_len = 1
    if self.pad_characters == b"" and data.startswith(b"0") and not data.startswith(b"0.") and len(data) > 1 and \
            data[1] in self.digits:
        return None
    for test_byte in data[match_len:]:
        if test_byte not in self.pad_characters:
            break
        match_len += 1
    num_start_pos = match_len
    for test_byte in data[match_len:]:
        if test_byte not in self.digits:
            break
        match_len += 1
    if match_len == 1:  # skipcq: PTC-W0048
        if data[0] not in self.digits:
            return None
    elif num_start_pos == match_len and match_len == 1:  # only return None if match_len is 1 to allow 00 with zero padding.
        return None
    match_string = data[:match_len]
    try:
        if self.pad_characters == b" " and match_string[0] in b"+-":
            match_value = int(match_string.replace(b" ", b"", 1))
        else:
            match_value = int(match_string)
    except ValueError:
        return None
    match_context.update(match_string)
    return MatchElement(f"{path}/{self.element_id}", match_string, match_value, None)