java怎样通过正则表达式判断下面的IP

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java怎样通过正则表达式判断下面的IP相关的知识,希望对你有一定的参考价值。

java怎样通过正则表达式判断10.1.107.0/24, 10.1.8.234/32等是IP地址,再帮我详细解释一下呗!

参考技术A String ipv4Regex = "^(([0-9]|[1-9][0-9]|[1-2][1-5][0-5])\\.)3([0-9]|[1-9][0-9]|[1-2][1-5][0-5])(/([1-9]|[1-2][0-9]|3[01]))?$";
System.out.println("254.0.0.0/31".matches(ipv4Regex));
System.out.println("254.0.0.0/32".matches(ipv4Regex));
System.out.println("256.0.0.0/31".matches(ipv4Regex));

System.out.println("1.2.3.255".matches(ipv4Regex));
System.out.println("1.2.3.256".matches(ipv4Regex));
参考技术B package com;

public class Joey

public static void main(String[] args)

String ip = "10.1.107.0/24";
String reg = "^((2[0-4]\\\\d|25[0-5]|[01]?\\\\d\\\\d?)\\\\.)3(2[0-4]\\\\d|25[0-5]|[01]?\\\\d\\\\d?)/\\\\d+$";
System.out.println(ip.matches(reg));

追问

谢谢你,现在想把10.1.7.85这种也算成IP,也就是10.1.107.0/24和10.1.7.85都是IP,应该怎样写

追答

String reg = "^((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.)3(2[0-4]\\d|25[0-5]|[01]?\\d\\d?)(/\\d+)?$"

本回答被提问者采纳

以上是关于java怎样通过正则表达式判断下面的IP的主要内容,如果未能解决你的问题,请参考以下文章

java判断 ip 地址是否正确的正则表达式

Java中常用的正则表达式判断,如IP地址电话号码邮箱等

用正则表达式提取网址中的IP怎样取?

如何利用js正则表达式判断ip地址的合法性

php 怎样判断一个字符串为正则表达式

怎样用正则表达式判断字符串中的中文数