public static String v6ipProcess(String netAddress) {
        int part;
        String subAddress;
        boolean isAsterisk = isAsterisk(netAddress);
        boolean isMinus = isMinus(netAddress);
        if (isAsterisk && isMinus) {
            part = 6;
            int lastColon = netAddress.lastIndexOf(':');
            int secondLastColon = netAddress.substring(0, lastColon).lastIndexOf(':');
            subAddress = netAddress.substring(0, secondLastColon);
        } else if (!isAsterisk && !isMinus) {
            part = 8;
            subAddress = netAddress;
        } else {
            part = 7;
            subAddress = netAddress.substring(0, netAddress.lastIndexOf(':'));
        }
        return expandIP(subAddress, part);
    }
@Test
    public void testV6ipProcess() {
        String remoteAddr = "5::7:6:1-200:*";
        Assert.assertEquals(AclUtils.v6ipProcess(remoteAddr), "0005:0000:0000:0000:0007:0006");

        remoteAddr = "5::7:6:1-200";
        Assert.assertEquals(AclUtils.v6ipProcess(remoteAddr), "0005:0000:0000:0000:0000:0007:0006");
        remoteAddr = "5::7:6:*";
        Assert.assertEquals(AclUtils.v6ipProcess(remoteAddr), "0005:0000:0000:0000:0000:0007:0006");

        remoteAddr = "5:7:6:*";
        Assert.assertEquals(AclUtils.v6ipProcess(remoteAddr), "0005:0007:0006");
    }