java中IPv4和IPv6地址格式判断
时间: 2023-10-24 20:09:00 浏览: 188
在Java中判断IPv4和IPv6地址格式可以使用正则表达式进行匹配,具体方式如下:
对于IPv4地址,可以使用以下正则表达式进行匹配:
```java
String ipv4Regex = "^([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])$";
Pattern ipv4Pattern = Pattern.compile(ipv4Regex);
String ipAddress = "192.168.1.1"; // 例子
if(ipv4Pattern.matcher(ipAddress).matches()) {
System.out.println("该IP地址为IPv4格式");
} else {
System.out.println("该IP地址不是IPv4格式");
}
```
对于IPv6地址,可以使用以下正则表达式进行匹配:
```java
String ipv6Regex = "^([0-9a-fA-F]{1,4}:){7}([0-9a-fA-F]{1,4})$";
Pattern ipv6Pattern = Pattern.compile(ipv6Regex);
String ipv6Address = "2001:0db8:85a3:0000:0000:8a2e:0370:7334"; // 例子
if(ipv6Pattern.matcher(ipv6Address).matches()) {
System.out.println("该IP地址为IPv6格式");
} else {
System.out.println("该IP地址不是IPv6格式");
}
```
注意:以上是简单的格式匹配,实际场景中还应进行更严格的IP地址验证,例如验证是否合法、是否唯一等。
阅读全文