博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一个严格区配IP的正则表达式
阅读量:4054 次
发布时间:2019-05-25

本文共 2135 字,大约阅读时间需要 7 分钟。

网上有很多区配IP的正则表达式,自己写了几个测试的小例子,总是出Bug,不能令人满意,所以就想自己写一个出来,研究了下,最终终于成功了,很简单,有测试用例,代码如下:

package com.autonavi.regex;import java.util.regex.Matcher;import java.util.regex.Pattern;public class TestRegex {	public static boolean isIP(String ip) {		String ipRegex = "(25[0-5]|2[0-4]\\d|1\\d{2}|[1-9][0-9]|[0-9])\\.(25[0-5]|2[0-4]\\d|1\\d{2}|[1-9][0-9]|[0-9])\\.(25[0-5]|2[0-4]\\d|1\\d{2}|[1-9][0-9]|[0-9])\\.(25[0-5]|2[0-4]\\d|1\\d{2}|[1-9][0-9]|[0-9])";		Pattern pattern = Pattern.compile(ipRegex);		Matcher matcher = pattern.matcher(ip);		return matcher.matches();	}	public static void main(String[] args) {		//true,正常,应该true		String ip1 = "192.168.1.1";		if(isIP(ip1)) {			System.out.println("IP1正确!");		} else {			System.out.println("IP1无效!");		}				//true,正常,应该true		String ip2 = "255.255.255.255";		if(isIP(ip2)) {			System.out.println("IP2正确!");		} else {			System.out.println("IP2无效!");		}				//false,正常,应该false		String ip3 = "256.168.1.1";		if(isIP(ip3)) {			System.out.println("IP3正确!");		} else {			System.out.println("IP3无效!");		}				//true,正常,应该true		String ip4 = "0.168.1.1";		if(isIP(ip4)) {			System.out.println("IP4正确!");		} else {			System.out.println("IP4无效!");		}				//true,异常,应该false		String ip5 = "00.168.1.1";		if(isIP(ip5)) {			System.out.println("IP5正确!");		} else {			System.out.println("IP5无效!");		}				//false,正常,应该false		String ip6 = "000.168.1.1";		if(isIP(ip6)) {			System.out.println("IP6正确!");		} else {			System.out.println("IP6无效!");		}				//true,异常,应该false		String ip7 = "01.100.100.100";		if(isIP(ip7)) {			System.out.println("IP7正确!");		} else {			System.out.println("IP7无效!");		}				//false,正常,,应该false		String ip8 = "001.100.100.100";		if(isIP(ip8)) {			System.out.println("IP8正确!");		} else {			System.out.println("IP8无效!");		}				//false,正常,应该false		String ip9 = "010.100.100.100";		if(isIP(ip9)) {			System.out.println("IP9正确!");		} else {			System.out.println("IP9无效!");		}				//false,正常,应该false		String ip10 = "-10.100.100.100";		if(isIP(ip10)) {			System.out.println("IP10正确!");		} else {			System.out.println("IP10无效!");		}			}}

最终返回结果:

IP1正确!IP2正确!IP3无效!IP4正确!IP5无效!IP6无效!IP7无效!IP8无效!IP9无效!IP10无效!

 

转载地址:http://fqtci.baihongyu.com/

你可能感兴趣的文章
【设计模式】学习笔记14:状态模式(State)
查看>>
poj 1976 A Mini Locomotive (dp 二维01背包)
查看>>
Java链式编程(Stream流)
查看>>
系统恢复的,我也不知道什么东西
查看>>
flash 系统字体
查看>>
HDFS Permissions Guide
查看>>
斯坦福大学机器学习——因子分析(Factor analysis)
查看>>
EM及高斯混合模型
查看>>
混合高斯模型算法
查看>>
IntelliJ IDEA 12 + git
查看>>
git-ssh 配置和使用
查看>>
(EM算法)The EM Algorithm
查看>>
Spring配置bean时id和name的相关讨论
查看>>
Spring的depends-on属性Bean依赖
查看>>
匿名内部类实现接口,继承类
查看>>
org.apache.ibatis.builder.IncompleteElementException: Could not find parameter map ***
查看>>
java程序向mysql数据表插入数据时中文乱码问题
查看>>
项目导入时报错:The import javax.servlet.http.HttpServletRequest cannot be resolved
查看>>
SQL 左外连接,右外连接,全连接,内连接
查看>>
数据库并发操作与数据的不一致性
查看>>