gpt4 book ai didi

java - 正则表达式检查IP

转载 作者:行者123 更新时间:2023-12-01 07:49:27 25 4
gpt4 key购买 nike

我想检查 IP 地址是否在 172.16.0.0 和 172.31.255.255 之间

我尝试的是这样的:

Pattern address = Pattern.compile("172.[16-31].[0-255].[0-255]");

但是它不起作用,编译器抛出错误:

Exception in thread "main" java.util.regex.PatternSyntaxException: Illegal character range near index 8
172.[16-31].[0-255].[0-255]
^

由于这是一个练习,因此必须使用正则表达式来完成。

最佳答案

这里的一个选项是按句点分割 IP 地址,然后检查以确保每个组件都在您想要的范围内:

public boolean isIpValid(String input) {
String[] parts = input.split("\\.");
int c1 = Integer.parseInt(parts[0]);
int c2 = Integer.parseInt(parts[1]);
int c3 = Integer.parseInt(parts[2]);
int c4 = Integer.parseInt(parts[3]);

if (c1 == 172 &&
c2 >= 16 && c2 <= 31 &&
c3 >= 0 && c3 <= 255 &&
c4 >= 0 && c4 <= 255) {
System.out.println("IP address is valid.");
return true;
} else {
System.out.println("IP address is not valid.");
return false;
}
}

关于java - 正则表达式检查IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41197907/

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