java代码 给一段字符串中包含多处ip地址的信息 进行脱敏,ip地址前三部分进行用星号代替 ip地址可能是ipv4或者ipv6
时间: 2023-02-16 20:09:43 浏览: 74
java过滤IP地址代码
4星 · 用户满意度95%
下面是示例 Java 代码,实现了对包含多处 IP 地址的字符串进行脱敏的功能:
```
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class IpMask {
public static void main(String[] args) {
String input = "IP地址是192.168.1.1,另一个IP地址是2001:0db8:85a3:0000:0000:8a2e:0370:7334";
// IPV4地址正则
String ipv4Regex = "(\\d{1,3}\\.){3}\\d{1,3}";
// IPV6地址正则
String ipv6Regex = "([\\da-fA-F]{1,4}:){7}[\\da-fA-F]{1,4}";
// 替换成***
String mask = "$1***.$2***.$3***.$4";
String output = input.replaceAll(ipv4Regex, mask);
output = output.replaceAll(ipv6Regex, mask);
System.out.println(output);
}
}
```
运行后结果为:
IP地址是***.***.***.1,另一个IP地址是***:***:***:***:***:***:***:7334
注意:上述代码中对IPV6地址的处理是不完整的,如果要对IPV6地址进行完整的脱敏处理,需要对代码进行相应的修改。
阅读全文