python正则匹配ip地址_python 正则表达式匹配IP地址
一、实验环境
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.256
192.255.255.255
aa.bb.cc.dd
2.2 编写函数读取文本文件,筛选合法IP地址
def get_ip_list(self):
try:
file = open(self.smart_ip_list_file, 'r')
str = file.readlines()
str_del_enter = [x.strip('\n') for x in str] #去除\n
comp = re.compile(r'^((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}')
str_legal_ip = [x for x in str_del_enter if comp.match(x)] #筛选合法IP地址
file.close()
return str_legal_ip
except:
self.ui.textEdit.setText('读取"%s"报错' %(self.smart_ip_list_file))
return []
2.3 代码说明
1.从文本文件中读取所有行,除首行外均以\n结束,如下代码用于去除\n
str_del_enter = [x.strip('\n') for x in str]
2.IP地址的长度为32位(共有2^32个IP地址),分为4段,每段8位,用十进制数字表示,每段数字范围为0~255,段与段之间用句点隔开
根据规则:每段相同,范围都在 0 ~ 255
0~255 对应的正则表达式为 (2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2}
2(5[0-5]|[0-4]\d) 匹配:200 ~ 255
[0-1]?\d{1,2} 匹配:0 ~ 199
0 到 255 的式子已经写出来了,那么一共四段再加上中间的点就很容易了
后边“点”和“数字”重复三次就可以了,(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}
全部合起来,((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}
通过如上正则表达式匹配字符串,存在如下问题
256.1.1.1 -> 匹配结果56.1.1.1
解决方式,如上表达式前面添加^,最终调用compile函数,参数方式如下
comp = re.compile(r'^((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}')
python正则匹配ip地址_python 正则表达式匹配IP地址相关推荐
- python正则判断纯数字_Python 正则表达式匹配数字及字符串中的纯数字,
Python 正则表达式匹配数字及字符串中的纯数字, Python 正则表达式匹配数字 电话号码:\d{3}-\d{8}|\d{4}-\d{7} QQ号:[1-9][0-9]{4,} 中国邮政编码:[ ...
- python re正则提取ip地址_python 正则表达式匹配IP地址
一.实验环境 1.Windows7x64_SP1 2.anaconda2.5.0 + python2.7(anaconda集成,不需单独安装) 3.pyinstaller3.0 二.实验目的 从tex ...
- python 正则表达式匹配的位置_python正则表达式匹配 模式匹配
Python正则式的基本用法 初学Python,对Python的文字处理能力有很深的印象,除了str对象自带的一些方法外,就是正则表达式这个强大的模块了.但是对于初学者来说,要用好这个功能还是有点难度 ...
- python正则匹配ip地址_Python正则表达式匹配和提取IP地址
Linux No.1 IPv4 下面是IPv4的IP正则匹配实例: 简单的匹配给定的字符串是否是ip地址 import re if re.match(r"^(?:[0-9]{1,3}.){3 ...
- python re正则提取ip地址_Python正则表达式匹配和提取IP地址
No.1 IPv4 下面是IPv4的IP正则匹配实例: 简单的匹配给定的字符串是否是ip地址 import re if re.match(r"^(?:[0-9]{1,3}\.){3}[0-9 ...
- python正则匹配ip地址_Python正则表达式匹配ip地址实例
Python正则表达式匹配ip地址实例 更新时间:2014年10月09日 11:22:51 投稿:shichen2014 这篇文章主要介绍了Python正则表达式匹配ip地址实例,通过简单的实例讲述了 ...
- python正则匹配任意字符_Python 正则表达式 匹配任意字符的写法
.(句点)匹配除了换行之外的所有一个字符, .*(点-星)匹配除了换行外的所有字符>>> >>> r=re.compile(r'.*') >>> ...
- python正则匹配任意字符_Python 正则表达式 匹配任意字符
.(句点)匹配除了换行之外的所有一个字符, .*(点-星)匹配除了换行外的所有字符 >>> >>> r=re.compile(r'.*') >>> ...
- python不包含某字符_python正则表达式匹配不包含某几个字符的字符串方法
python正则表达式匹配不包含某几个字符的字符串方法 一.匹配目标 文件中所有以https?://开头,以.jpg|.png|.jpeg结尾的字符串 二.尝试过程 1) 自然想到正则表达式r'(ht ...
最新文章
- Android中的事件处理机制
- 深度学习: mAP (Mean Average Precision)
- 注解_自定义注解_格式本质
- 关于uniapp引入Vant Weapp第三方组件,遇到的问题和解决方式
- 去除List集合中的重复值(四种好用的方法)
- 把百度网站设为首页_大仙SEO:如何解决网站首页百度收录后被删除?【SEO案例】...
- 一分钟了解react
- 雷林鹏分享:Lua 面向对象
- 传感器怎么获取障碍物的宽度信息_机器人感知 -- 测距传感器
- 操作系统|操作系统概述
- Centos7开放及查看端口
- Vivado设计流程(三)功能仿真
- 防热服的设计数学建模_数学建模之高温作业专用服装设计.pdf
- 炒股杠杆-API智能交易软件基本函数
- 搭建-ico图标制作
- 收到大量垃圾短信怎么办?如何屏蔽垃圾短信?
- 两个自变量和一个因变量spss_多个自变量对一个因变量的影响(SPSS:协方差分析)...
- C语言--指向指针的指针
- 【Java基础】HashMap原理及常见面试题目
- 中国计算机应用大会征稿通知,全球华人计算机教育应用大会(GCCCE)2015征稿启事...
热门文章
- Unity 宣布正式收购 Weta Digital
- 那些“不顾一切”要搞开源的人,现在怎样了?
- 欧洲最大云服务公司 OVH 法国机房着火:1个数据中心被完全烧毁、部分客户数据完全丢失且无法恢复
- 支持百万级TPS,Kafka是怎么做到的?
- 华为今年不会推出运行鸿蒙OS的手机;Deno 1.3.2发布|极客头条
- 百度NLP“十年十人”重磅亮相,推出全球最大中文NLP数据共建计划“千言”
- 互联网巨头的“搜索”暗战
- “恭喜那些拿到 Java 月薪 2 万 Offer 的人”
- 小米回应暴力裁员;报告称安卓手机贬值速度是 iPhone 两倍;Ant Design 4.0.1 发布| 极客头条...
- 火神山医院完工,2月3日收治病人!“云监工”请放心!