美文网首页
【ipv4&正则】ipv4相关的正则表达式

【ipv4&正则】ipv4相关的正则表达式

作者: Bogon | 来源:发表于2023-03-25 18:56 被阅读0次

怎么用一个shell正则表达式匹配所有ipv4地址?

可以使用以下正则表达式来匹配所有IPv4地址:

^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$

这个正则表达式的含义是:

^ 表示匹配字符串的开头

(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?). 表示匹配一个数字,可以是0-255之间的数,或者是一位或两位的数字,后面跟一个点号{3} 表示前面的表达式重复3次,匹配3个数字和3个点号

(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?) 表示匹配最后一个数字,可以是0-255之间的数,或者是一位或两位的数字$ 表示匹配字符串的结尾

使用这个正则表达式,可以匹配所有IPv4地址,例如:

192.168.1.1
10.0.0.1
172.16.0.1

注意,这个正则表达式只能匹配符合IPv4地址规范的字符串,不能匹配其他格式的字符串,例如IPv6地址、主机名等。

怎么用一个shel正则匹配所有CIDR 私网ip地址?

可以使用以下正则表达式来匹配所有CIDR表示的私网IP地址:

\b(10\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])|(172\.(1[6-9]|2[0-9]|3[0-1])\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])|(192\.168\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\/([1-2]?[0-9]|3[0-2])\b

这个正则表达式的含义是:

\b 表示匹配单词边界,避免匹配到IP地址的一部分
(10.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]) 表示匹配10.x.x.x格式的私网IP地址
| 表示或者
(172.(1[6-9]|2[0-9]|3[0-1]).([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]) 表示匹配172.16.x.x到172.31.x.x格式的私网IP地址
| 表示或者
(192.168.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])) 表示匹配192.168.x.x格式的私网IP地址
/([1-2]?[0-9]|3[0-2]) 表示匹配CIDR表示法中的子网掩码,可以是1-32之间的数字

使用这个正则表达式,可以匹配所有CIDR表示的私网IP地址,例如:

10.0.0.0/8
172.16.0.0/12
192.168.0.0/16

注意,这个正则表达式只能匹配符合CIDR表示法的私网IP地址,不能匹配其他格式的IP地址。

相关文章

  • linux shell正则表达式

    正则 普通正则表达式 扩展正则表达式 普通正则表达式 正则表达式 位置相关的正则^: 表示锚定行首,此字符后面的任...

  • ipv4合法性验证

    ipv4:合法的ipv4协议的ip地址满足 1-255.0-255.0-255.0-255 因此可以使用正则表达式...

  • iOS-正则表达式使用

    正则表达式与NSPredicate连用 正则表达式类 分组的使用 相关资料 常用正则表达式

  • 匹配IPv4地址的正则表达式

    本文虽然给出了匹配IPv4地址的正则表达式,但是更重要的是提供写正则表达式的一种思路。有时候使用程序而不是正则表达...

  • PHP正则表达式详解

    如果你有如下问题请看本文章: 正则表达式是什么? 正则表达式怎么用? 正则表达式包含哪些内容? 正则表达式相关函数...

  • 三剑客_grep

    grep grep 相关参数 grep + 正则表达式(扩展正则)

  • 正则表达式

    包java.util.regex中提供了正则表达式相关API。 正则表达式是什么?正则表达式描述了一组具有共同特征...

  • 手机号.邮箱.身份证等相关正则表达式

    主要是对NSString的扩展验证相关 ///////////////////////////// 正则表达式相关...

  • python正则表达式学习

    一、正则表达式的语法规则 下面是python中正则表达式的一些匹配规则,图片来自CSDN。 二、正则表达式相关注解...

  • Java基础:正则表达式

    相关阅读 Java基础:String类 Java字符串格式化 Java基础:正则表达式 1. 正则表达式概述 正则...

网友评论

      本文标题:【ipv4&正则】ipv4相关的正则表达式

      本文链接:https://www.haomeiwen.com/subject/jrxnrdtx.html