Java IP及端口号正则表达式使用指南
在Java编程中,经常需要对IP地址和端口号进行校验。使用正则表达式是一个简单而有效的方法。本文将介绍如何使用Java编写正则表达式来校验IP地址和端口号,并通过流程图和饼状图展示其应用场景。
正则表达式简介
正则表达式是一种用于匹配字符串中字符组合的模式。在Java中,正则表达式可以通过java.util.regex
包中的Pattern
和Matcher
类来实现。
IP地址和端口号正则表达式
IP地址
IP地址通常有两种形式:IPv4和IPv6。IPv4地址由四组0到255的数字组成,每组数字之间用点(.
)分隔。IPv6地址则由八组16位的十六进制数组成,每组之间用冒号(:
)分隔。
IPv4地址的正则表达式示例:
String ipv4Regex = "^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])$";
端口号
端口号是一个16位的数字,范围从0到65535。
端口号的正则表达式示例:
String portRegex = "^[0-9]{1,5}$";
Java代码示例
以下是使用Java正则表达式校验IP地址和端口号的示例代码:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class IPPortValidator {
public static void main(String[] args) {
String ipv4 = "192.168.1.1";
String port = "8080";
String ipv4Regex = "^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])$";
String portRegex = "^[0-9]{1,5}$";
Pattern ipv4Pattern = Pattern.compile(ipv4Regex);
Pattern portPattern = Pattern.compile(portRegex);
Matcher ipv4Matcher = ipv4Pattern.matcher(ipv4);
Matcher portMatcher = portPattern.matcher(port);
if (ipv4Matcher.matches() && portMatcher.matches()) {
System.out.println("IP地址和端口号校验成功!");
} else {
System.out.println("IP地址或端口号校验失败!");
}
}
}
流程图
以下是使用Mermaid语法绘制的流程图,展示了IP地址和端口号校验的流程:
flowchart TD
A[开始] --> B{输入IP地址}
B --> C{输入端口号}
C --> D[校验IP地址]
D -- 校验成功 --> E[校验端口号]
E -- 校验成功 --> F[校验成功]
E -- 校验失败 --> G[校验失败]
D -- 校验失败 --> G
F --> H[结束]
G --> H
饼状图
以下是使用Mermaid语法绘制的饼状图,展示了IP地址和端口号校验成功与失败的比例:
pie
title IP地址和端口号校验结果
"校验成功" : 360
"校验失败" : 140
结语
通过本文的介绍,我们了解到了如何使用Java正则表达式来校验IP地址和端口号。正则表达式是一种强大的工具,可以应用于多种字符串匹配场景。希望本文能够帮助您更好地理解和使用Java正则表达式。