正则表达式のip地址匹配の小见

对于IP地址我们先将其划分范围

对于每一个地址我们都将其划分成三段。每一段都确定它的范围

对于第一段它的范围是1-254

对于第二,三段它的范围是0-255

对于第四段它的范围是1-254

我们需要注意的是\b  与$ ^的区别

1\b强调的是在你的所查找的关键字中的位置  而  $^则是强调在你的关键字所匹配的行中的位置

2同时我们一样可以注意到

ifconfig  | egrep --color ‘\b([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4])\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.([0-9]|[1-9][0-9]|1[0^C][0-9]|2[0-4][0-9]|25[0-5])\.([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4])\b‘
[[email protected] ~]# ifconfig  | egrep --color ‘\b([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4])\.(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){2}([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4])\b‘

需要注意的是标红的这一段  我们如果把\.放在最后三位数的后面,并同时处在括号之内的话 比如说下面这样

[[email protected] ~]# ifconfig  | egrep --color ‘\b([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4])\.(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]\.){2}([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4])\b‘

那么第二三个字段就变成 一位数或者两位数或者三位数加点

而不是一位数加点或者两位数加点或者三位数加点

时间: 2024-10-16 23:09:24

正则表达式のip地址匹配の小见的相关文章

多个ip地址匹配正则表达式

匹配规则:多个ip地址使用,号进行分割 例如:1.1.1.1,2.2.2.2var iplist =/^((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))|\*)((\/([012]\d|3[012]|\d))?)(,((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

IP地址匹配

问题描述: 在路由器中,一般来说转发模块采用最大前缀匹配原则进行目的端口查找,具体如下: IP地址和子网地址匹配: IP地址和子网地址所带掩码做AND运算后,得到的值与子网地址相同,则该IP地址与该子网匹配. 比如: IP地址:192.168.1.100 子网:192.168.1.0/255.255.255.0,其中192.168.1.0是子网地址,255.255.255.0是子网掩码. 192.168.1.100&255.255.255.0 = 192.168.1.0,则该IP和子网192.1

[Qt] QtcpSocket获取ip地址的小bug

 昨天测试代码时发现了一个很奇怪的问题,在实验室时,我将服务器端运行在一台服务器上,用我和同学的电脑运行客户端完全正常.但当我晚上在宿舍测试代码时,一台电脑运行客户端和服务端,另一台运行客户端,却总是异常,同一份代码,为什么结果会不一样呢? 客户端是多对多的音视频通话,服务器端协助连接.宿舍的实验结果是两种情况①两台客户端只要连接就死了②一台客户端竟然收到自己发的音视频,而另一台客户端却总是显示音视频流被占用.特别是第二种现象很不符合常理!两台客户端是对等的,怎么实验现象会出现不一样呢?!

获取本机IP地址的小脚本

获取本机私网地址(1个) 1 #!/bin/bash 2 # Author : standby 3 # Date : 2017-05-18 4 # Description : Get private ip address of local machine. 5 6 arr=(`/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"`) 7 #private_ip

正则表达式IP地址

((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9]).){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9]) \(\(25[0-5]\|2[0-4][0-9]\|1[0-9][0-9]\|[1-9]\?[0-9]\)\.\)\{3\}\(25[0-5]\|2[0-4][0-9]\|1[0-9][0-9]\|[1-9]\?[0-9]\) 原文地址:https://blog.51cto.com/13749470/23

使用正则表达式匹配IP地址

如何使用正则表达式匹配IP地址?这是很常见的任务.说难也难,说易也易,取决于在匹配的精确度以及正则表达式复杂度之间很好的折中. 通常,IP地址以点分十进制方式表示,IP地址分为4段,以点号分隔.要对IP地址进行匹配,首先要对其进行分析.0.0.0.0 - 255.255.255.255 一个简单的正则表达式: [0-9]+(?:\.[0-9]+){0,3} 或者 ^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$ 它能够完成我们的任务,但是像"3948.3.89.34238"

python中利用正则表达式匹配ip地址

现在有一道题目,要求利用python中re模块来匹配ip地址,我们应如何着手? 首先能想到的是ip地址是数字,正则表达式是如何匹配数字的呢? \d或[0-9] 对于这个问题,不要一下子上来就写匹配模式,应该一步步分解,把复杂的问题简单化 比如ip地址,我们可以总结一下规律 1. 它是一个字符串 2. 字符串内部是由4个1-3位的数字和3个.组成 3. 数字的范围是0-255 接下来,我们先试一下匹配第1个数字 第一步:尝试匹配192.168.100.123中的192 >>> import

正则表达式匹配IP地址

'''首先分析ip地址的特征:255.255.255.255,前三位的数字处理基本一致 1位: 0-9              \d2位:10-99         [1-9]\d3位:100-199      1\d\d3位:200-249      2[0-4]\d3位:250-255      25[0-5] ''' 先匹配前三位数字: (\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]) 前三位加上 . ((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0

java正则表达式小练习(IP地址检测、排序,叠词的处理,邮件地址的获取)

import java.util.Arrays; import java.util.Comparator; import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; class MyComparator implements Comparator<String>{ public int compare(String ip1, String ip2) { Pattern p