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

IP分成5大类: A类地址 ⑴ 第1字节为网络地址,其它3个字节为主机地址. ⑵ 范围:1.0.0.1—126.155.255.254 ⑶ 私有地址和保留地址: ① 10.X.X.X是私有地址(只能在局域网络使用的地址). ② 127.X.X.X是保留地址,循环测试. B类地址 ⑴ 前2个字节为网络地址,其它2个字节为主机地址. ⑵ 范围:128.0.0.1—191.255.255.254 ⑶ 私有地址和保留地址 ① 172.16.0.0—172.31.255.255是私有地址 ② 169.25…
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次, 后面三个数没有点…
比如255.255.255.255 ,共4段,我们将255分为四个部分,0-99,100-199,200-249,250-255 0-99:[1-9]?[0-9]               #   [1-9]? 表示1到9匹配1此或0次,0到9匹配一次 100-199:1[0-9][0-9] 200-249:2[0-4][0-9] 250-255:25[0-5] [root@Skip-ftp tmp]# cat test.txt 10.0.0.0.0 0.0.0.0 1.1.1.1 01.1.…
这里给大家详细讲解一下一个匹配IP地址的正则表达式, 有关正则方面的知识,会在详细的讲解中提到. 在讲解之前,我先给大家介绍一下,ip地址的生成规则. IP地址,是由32位数字二进制转为四个十进制的字符串组成. 怎么转化?下面讲解: 二进制:11111111111111111111111111111111 分为四部分:11111111.11111111.11111111.11111111 转化:2^7+2^6+2^5+2^4+2^3+2^2+2^1+2^0=255 转为十进制范围:0~255.0…
现在有一道题目,要求利用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正确格式,一些场景下可能会产生不一样的结果,比如ip数值超范围,ip段超范围等,在使用正则表达式匹配ip地址时要注意几点: 1,字符界定:使用  \<匹配 字符 \> 或  \b 匹配字符 \b ;这个作用是限定ip的长度或位数 2. 数值范围匹配  :[0-9] ,使用分组的方式,匹配字段 3. ip段的划分 :按照匹配规则一个正确的ip地址可以划分为如下几个段: 0-9段,10-99段,100-199段,200-254段: 正则表达式匹配如下:…
ip地址是用3个'.'号作为分隔符,分割4个数字,每个数字的取值在[0,255],一般日志文件中的ip地址都是有效的ip地址,不需要我们再去验证,因此,若从日志文件中提取ip,那么可以简单写成这样: >>> import re >>> s='kkk 192.168.1.136 kkk 192.168.1.137 kk 192.168.1.138 kk' >>> l=re.findall(r'\d+.\d+.\d+.\d+', s) >>&g…
IP地址分为4段,以点号分隔.要对IP地址进行匹配,首先要对其进行分析,分成如下部分,分别进行匹配:   第一步:地址分析,正则初判 1.0-9 \d 进行匹配 2.10-99 [1-9]\d 进行匹配 2.100-199 1\d\d 进行匹配 3.200-249 2[0-4]\d 进行匹配 4.250-255 25[0-5] 进行匹配 第二步:正则合并 基本表达式可以合并为:       \d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5] 前三部分正则表达式合并为:   ((\…
分析 IP地址的长度为32位,分为4段,每段8位,用十进制数字表示,每段数字范围为0~255( 2^8 ),段与段之间用英文句点“.”隔开.例如:某台计算机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…
都知道iP地址有四个数值,三个点号组成.三个数值的具体范围为0到255,为了使用正则表达式匹配就必须分析IP地址的组成 1先分析数值,2再组合数值和点号 1先分析数值 IP地址的数字范围从0到255,再细分就是0到99,100到199,200到249,250到255 匹配 0到99的正则表达式是:\d{1,2},含义就是匹配1位或者是两位数字也可以写成[0-9]{1,2} 匹配 100到199的正则表达式是:1\d{2,2},,含义就是以1开头,后边有2个数值也可以写成1[0-9]{2,2}的三…
一.实验环境 1.Windows7x64_SP1 2.anaconda2.5.0 + python2.7(anaconda集成,不需单独安装) 3.pyinstaller3.0 二.实验目的 从text文本中获取字符串,筛选合法IP地址 2.1 文本内容如下 请输入合法IP地址,非法IP地址和其他字符将被过滤! 增.删.改IP地址后,请保存.关闭记事本! 192.168.8.84 192.168.8.85 192.168.8.86 0.0.0.1 256.1.1.1 192.256.256.25…
'''首先分析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…
>>> 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'&…
正则表达式 ^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9…
匹配邮件 #^[A-Za-z0-9]+[\w\.-]*@[A-Za-z0-9]+[A-Za-z0-9\.-]*[A-Za-z0-9]$# 注意 1. \w 表示的是 [A-Za-z0-9_] 包括下划线 2.  邮件@后的域名不能含有下划线 _ 但是可以有- <?php $email = 'sailrancho@qq_mail.com'; function isEmail($email) { $preg = '#^[A-Za-z0-9]+[A-Za-z0-9\.-_]*@[A-Za-z0-9]+…
#coding=utf-8 import re def isValidIp(ip): if re.match(r"^\s*\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\s*$", ip): return True return False def isValidMac(mac): if re.match(r"^\s*([0-9a-fA-F]{2,2}:){5,5}[0-9a-fA-F]{2,2}\s*$", mac): return True…
JQuery代码: var regexp = /((http|ftp|https|file):\/\/([\w\-]+\.)+[\w\-]+(\/[\w\u4e00-\u9fa5\-\.\/?\@\%\!\&=\+\~\:\#\;\,]*)?)/ig;        var url = $('#mytest').html();        var thisurl = url.match(regexp);        console.info(thisurl); html代码: <div…
\b(([01]?\d?\d|2[0-4]\d|25[0-5])\.){3}([01]?\d?\d|2[0-4]\d|25[0-5])\b…
import re u = "http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+" def match_by_re(str): pattern = re.compile(u, re.S) res = pattern.findall(string=str) if res: return res[0]…
[root@MiWiFi-R1CM-srv ~]# ifconfig |sed -n '2p' inet addr:192.168.139.128 Bcast:192.168.139.255 Mask:255.255.255.0 [root@MiWiFi-R1CM-srv ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:30:61:2E inet addr:192.168.139.128 Bcast:192.168.139.255 Ma…
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Date : 2017-08-30 20:38:23 # @Author : EnderZhou (zptxwd@gmail.com) # @Link : http://www.cnblogs.com/enderzhou/ # @Version : $Id$ import requests import re def open_url(url): req = requests.get(url=url…
问题描述: 在路由器中,一般来说转发模块采用最大前缀匹配原则进行目的端口查找,具体如下: 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…
收集一些常用的JavaScript正则表达式匹配规则,比如匹配电话号码.Email.中文字符.身份证号.邮编.QQ号.过滤空白行.匹配特定数字等.觉得这玩意是很有用的,只不过自己水平菜,老是自己写不出,看了这个文档,觉得心里踏实很多,用到正则匹配的时候,看下这个,相信为让你省不少时间.注:本正则不仅限于在JS中使用,其它语言也可以借鉴. 匹配特定数字: ^[1-9]\d*$ //匹配正整数 ^-[1-9]\d*$ //匹配负整数 ^-?[1-9]\d*$ //匹配整数 ^[1-9]\d*|0$…
一个通用且常用的Java正则匹配工具,用以检查邮箱名.电话号码.用户密码.邮政编码等合法性. import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexUtils { /** * 验证Email * @param email email地址,格式:zhang@gmail.com,zhang@xxx.com.cn,xxx代表邮件服务商 * @return 验证成功返回true,验证失败返回fa…
看到同事在一个一个IP地址的百度来确认导出表格中的ip地址所对应的现实世界的地址是否正确,决定给自己新开一个坑.做一个查询ip“地址”的python小工具,读取Excel表格,在表格中的后续列输出尽可能多的ip地址查询平台的结果以供验证比对. 第一个版本写的比较丑,仅仅能用,后续慢慢完善吧. # -*- coding: utf-8 -*- # @Author: EnderZhou # @E-mail: zptxwd@gmail.com # @Date: 2018-11-09 15:17:21 #…
平时做网站经常要用正则表达式,下面是一些讲解和例子,仅供大家参考和修改使用: 匹配数字 "^\d+$" //非负整数(正整数 + 0) "[1][1-9][0-9]$" //正整数 "^((-\d+)|(0+))$" //非正整数(负整数 + 0) "^-[0-9][1-9][0-9]$" //负整数 "^-?\d+$" //整数 "^\d+(.\d+)?$" //非负浮点数(正浮点数…
参考:http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html # re.match import re m = re.match(r'(\w+) (?P<sign>.*)', 'hello standby!') print(type(m)) # <class '_sre.SRE_Match'> print(m) # <_sre.SRE_Match object; span=(0, 14), match='hell…
PHP获取IP地址的方法 /** * 获取客户端IP地址 * <br />来源:ThinkPHP * <br />"X-FORWARDED-FOR" 是代理服务器通过 HTTP Headers 提供的客户端IP.代理服务器可以伪造任何IP. * <br />要防止伪造,不要读这个IP即可(同时告诉用户不要用HTTP 代理). * @param integer $type 返回类型 0 返回IP地址 1 返回IPV4地址数字 * @param bool…
使用正则表达式匹配IP地址 .MAC地址 .网卡名称: #!/usr/bin/env python #-*- coding:utf-8 -*- import re from subprocess import Popen, PIPE def getAddress(data): reg_ip = re.compile(r'inet addr:([\d\.]{7,15})', re.M) reg_mac = re.compile(r'HWaddr ([0-9a-zA-Z:]{17})', re.M)…