java 正则表达式 ip
时间: 2023-11-24 22:46:48 浏览: 130
可以使用以下正则表达式匹配 IP 地址:
```
^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$
```
这个正则表达式可以匹配 IPv4 地址,其中:
- `(25[0-5]|2[0-4]\d|[01]?\d\d?)` 匹配 0 到 255 之间的数字,可以是 1 位、2 位或 3 位数字,其中 0 开头的数字只能是单个 0。
- `(\.){3}` 匹配三个点号。
- 最后一个 `(25[0-5]|2[0-4]\d|[01]?\d\d?)` 匹配最后一段 IP 地址。
示例代码:
```java
String regex = "^((25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(25[0-5]|2[0-4]\\d|[01]?\\d\\d?)$";
String ip = "192.168.1.1";
if (ip.matches(regex)) {
System.out.println("IP 地址合法");
} else {
System.out.println("IP 地址不合法");
}
```
相关问题
用java正则表达式判断ip地址
以下是Java正则表达式判断IP地址的示例代码:
```java
public boolean isIP(String str) {
if (str.equals("") || str.length() == 0) {
return false;
}
String regex = "^([1-9]|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])\\." +
"(\\d|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])\\." +
"(\\d|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])\\." +
"(\\d|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])$";
return str.matches(regex);
}
```
该正则表达式的含义是:IP地址由四个数字组成,每个数字之间用点号分隔,每个数字的取值范围是1-255。其中,第一位数字可以是1-9,也可以是两位数,但不能以0开头;其他三位数字可以是0-9,也可以是两位数,但不能以0开头,且不能大于255。
java正则表达式判断ip是否合法
以下是Java中判断IP地址合法性的正则表达式:
```
String pattern = "^((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(2[0-4]\\d|25[0-5]|[01]?\\d\\d?)$";
```
解释:
- `^`:表示字符串的开头
- `(2[0-4]\\d|25[0-5]|[01]?\\d\\d?)`:表示一个IP地址中的一段,可以是:200-249,250-255,0-199的两位数,或者是0-99的一位数,或者是0-9的一位数
- `\\.`:表示一个点号,需要转义
- `{3}`:表示前面的表达式需要重复3次
- `$`:表示字符串的结尾
使用方法:
```
String ip = "192.168.0.1";
if (ip.matches(pattern)) {
System.out.println("IP地址合法");
} else {
System.out.println("IP地址不合法");
}
```
阅读全文