怎样通过正则匹配IP地址

Ipv4的地址是0.0.0.0 到 255.255.255.255, 匹配这个字段需要判断三种情况:

1. 如果第一位是0或1, 则第二位和第三位可以是0-9的任意数值:

[01]\d\d

2. 如果第一位是2, 第二位是0-4, 那第三位可以是0-9的任意数值:

2[0-4]\d

3. 如果第一位是2, 第二位是5, 那第三位只能是0-5的之间的数值:

25[0-5]

上面三种情况整合起来就得到下面的正则, 前三个数后面是有一个"."的, 所以归为一组, 匹配3次, 后面三个数没有点, 原样写一份就行了.

/((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/

下面是测试:

/((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/.test("0.0.0.0"); // true
/((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/.test("256.0.0.0"); // false

原文地址:https://www.cnblogs.com/aisowe/p/11733872.html

时间: 2024-10-08 06:25:51

怎样通过正则匹配IP地址的相关文章

Linux grep 命令正则匹配IP地址

1,以nginx的access.log日志为例grep -o "[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}" /var/log/nginx/access.log egrep -o "([0-9]{1,3}.){3}[0-9]{1,3}" /var/log/nginx/access.log 2,以上两个是过滤出具体的IP 来 ,如果想统计IP ,可以 加上 sort 和uniq 命令来统计 每个IP出现的次数并排序,下面的命

python 正则RE匹配IP地址

使用re库匹配IP地址 一.说明 ip地址为xxx.xxx.xxx.xxx,其中xxx为0-255直接数字. 本文匹配为(1-255).(0-255).(0-255).(1-254) 二.匹配表达式 1 ip_match = r"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|0?[0-9]?[1-9])\.)(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){2}(?:25[0-4]|2[0-4][0-9]|1[0-9][0-

使用正则表达式匹配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地址的长度为32位,分为4段,每段8位,用十进制数字表示,每段数字范围为0~255,段与段之间用英文句点“.”隔开.例如:某台计算机IP地址为10.11.44.100. 分析IP地址的组成特点:250-255.200-249.0-199. 这三种情况可以分开考虑, 1. 250-255:特点:三位数,百位是2,十位是5,个位是0~5,用正则表达式可以写成:25[0-5] 2. 200-249:特点:三位数,百位是2,十位是0~4,个位是0~9,用正则表达式可以写成:2[0-4]\d 3. 0

正则表达式匹配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

正则匹配URL地址

/** * @ 匹配URL地址 */ function isURLAddress(url) { var urlreg=/^((https|http|ftp|rtsp|mms)?:\/\/)+[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/ if (!urlreg.test(url)){ return false }else{ return true; } }

正则-匹配IP地址

>>> re.search(r'[aeiouAEIOU]','I love FishC.com!') 中括号里面的任意一个字符匹配成功就会返回数值 <_sre.SRE_Match object; span=(0, 1), match='I'> >>> re.search(r'[a-z]','I love FishC.com!')#中括号中可以用小横杠代表范围 <_sre.SRE_Match object; span=(2, 3), match='l'&

python实战系列之正则获取IP地址(八)

1.正则表达式re python中通过re模块实现正则表达式相关的功能,正则是一种模式匹配patter,通过模式匹配,实现对字符的搜索search和匹配match功能,正则表达式常用的原字符包括: 原字符 代表含义 literal 代表字符串本身,如'hello' 2.正则表达式re