Java ip地址正则表达式问题

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
IP地址(英语:IP Address,全称Internet Protocol Address),又译为网际协议地址、互联网协议地址。当设备连接网络,设备将被分配一个IP地址,用作标识。通过IP地址,设备间可以互相通讯,如果没有IP地址,我们将无法知道哪个设备是发送方,无法知道哪个是接收方。[2] IP地址有两个主要功能:标识设备或网络 和 寻址(英语:location addressing)。
常见的IP地址分为 IPv4 与 IPv6 两大类,IP地址由一串数字组成。IPv4 由十进制数字组成,并以点分隔,如:172.16.254.1 ; IPv6 由十六进制数字组成,以冒号分割,如:fe80:1295:8030:1fc6:57fa:0000:0000:8030。
下面我们来举几个例子来说明ip地址正则表达式的用处。
IPv4:唯一标准格式 -> 0-255.0-255.0-255.0-255

	public static void main(String[] args) {
		String re1 = "^((25[0-5]|2[0-4]\\d|1\\d{2}|[1-9]?\\d)\\.){3}(25[0-5]|2[0-4]\\d|1\\d{2}|[1-9]?\\d)$";
		System.out.println("192.168.0.1".matches(re1));
		System.out.println("111.111.111.111".matches(re1));
	}

可以看到以上规则是匹配ipv4地址的。
IPv6: 标 准 格 式 -> abcd🔡abcd🔡abcd🔡abcd:abcd 标准IPv6地址一共(8*4 + 7) 个字符

	public static void main(String[] args) {		
		String re2 = "^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$";
		System.out.println("fe80:1295:8030:1fc6:57fa:0000:0000:1fc6".matches(re2));
		System.out.println("fe80:1295:8030:1fc6:57fa:0000:0000:8030".matches(re2));
	}

可以看到以上规则是匹配ipv6地址的。
以上就是java ip地址正则表达式的写法

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值