gpt4 book ai didi

java - CIDR 表示法和 IP 范围 validator 模式

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:48:21 24 4
gpt4 key购买 nike

我有一个验证普通 IP 地址的模式,即:

private static final String PATTERN =
"^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." +
"([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." +
"([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." +
"([01]?\\d\\d?|2[0-4]\\d|25[0-5])$";

以及检查输入是否为有效 IP 地址的验证方法:

private static boolean validate(final String ip){

Pattern pattern = Pattern.compile(PATTERN);
Matcher matcher = pattern.matcher(ip);
return matcher.matches();
}

但是,现在我需要为 CIDR(例如 84.240.40.0/24)符号和没有主机的 IP 范围(例如 172.24.105)添加验证,我尝试了许多不同的模式但没有得到具体的东西。有什么建议吗?

最佳答案

Pattern pattern = Pattern.compile("^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(\\d|[1-2]\\d|3[0-2]))?$");
Matcher matcher = pattern.matcher("84.240.40.0/24");
if (matcher.find()) {
System.out.println(matcher.group());
}

输出:

84.240.40.0/24

这个模式匹配 IPv4 地址和 IPv4 CIDR 范围,如果你只想匹配范围,你应该删除最后一个问号

关于java - CIDR 表示法和 IP 范围 validator 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18608165/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com