实现JAVA正则筛选IP和端口号

整体流程

为了实现JAVA正则筛选IP和端口号,我们首先需要明确整个流程。下面是一张包含步骤的表格:

pie
   title 正则筛选IP和端口号流程
   "明确需求": 20
   "编写正则表达式": 30
   "筛选IP和端口号": 50

步骤详解

步骤一:明确需求

在开始编写代码之前,我们需要明确我们的需求是什么。我们需要从一段文本中提取出所有的IP地址和端口号。

步骤二:编写正则表达式

为了筛选IP和端口号,我们需要编写合适的正则表达式。下面是一个简单的正则表达式示例:

^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\:(\d{1,5})$

这个正则表达式可以匹配IP地址和端口号的组合,其中IP地址位于冒号之前,端口号位于冒号之后。

步骤三:筛选IP和端口号

现在我们可以开始编写JAVA代码来筛选出文本中的IP地址和端口号。下面是示例代码:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Main {
    public static void main(String[] args) {
        String text = "ip:192.168.1.1 port:8080 ip:10.0.0.1 port:1234";
        String regex = "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\:(\\d{1,5})$";

        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(text);

        while (matcher.find()) {
            System.out.println("IP: " + matcher.group(0));
            System.out.println("Port: " + matcher.group(4));
        }
    }
}

这段代码首先定义了一个包含IP地址和端口号的文本字符串,然后使用编写的正则表达式进行匹配。最后,通过循环遍历匹配结果,打印出提取到的IP地址和端口号。

希望这篇文章能够帮助你理解如何使用JAVA正则表达式筛选IP和端口号。如果有任何问题,欢迎随时向我提问!