用java写一个提取符合ip地址的正则表达式并去重
时间: 2024-03-13 09:04:04 浏览: 59
好的,下面是Java代码:
```java
import java.util.HashSet;
import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class IpRegex {
public static void main(String[] args) {
String input = "192.168.1.1, 127.0.0.1, 10.0.0.1, 192.168.1.2, 172.16.0.1, 127.0.0.1";
Pattern pattern = Pattern.compile("\\b(?:\\d{1,3}\\.){3}\\d{1,3}\\b"); // 匹配IP地址的正则表达式
Matcher matcher = pattern.matcher(input);
Set<String> ips = new HashSet<>();
while (matcher.find()) {
ips.add(matcher.group());
}
System.out.println(ips); // 输出去重后的IP地址
}
}
```
上述代码中,使用了Java中的正则表达式类`Pattern`和`Matcher`,其中`\b(?:\d{1,3}\.){3}\d{1,3}\b`表示匹配IP地址的正则表达式。最后将匹配到的IP地址放入`HashSet`中进行去重,最终输出去重后的IP地址。
阅读全文