Python正则表达式匹配和提取IP地址


Posted in Python onJune 06, 2019

Linux

No.1 IPv4

下面是IPv4的IP正则匹配实例:

简单的匹配给定的字符串是否是ip地址

import re
if re.match(r"^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$", "236.168.192.1"):
  print "IP vaild"
 else:
  print "IP invaild"

精确的匹配给定的字符串是否是IP地址

import re
if re.match(r"^(?:(?: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]?)$", "236.168.192.1"):
  print "IP vaild"
 else:
  print "IP invaild"

简单从长文本中提取IP

import re
string_ip = "is this 236.168.192.1 ip 12321"
result = re.findall(r"\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b", string_ip)
if result:
  print result
else:
  print "re cannot find ip"

精准提取IP

import re
string_ip = "is this 236.168.192.1 ip 12321"
result = re.findall(r"\b(?:(?: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]?)\b", string_ip)
if result:
  print result
else:
  print "re cannot find ipNo.2 IPv6
string_IPv6="1050:0:0:0:5:600:300c:326b"
#匹配是否满足IPv6格式要求,请注意例子里大小写不敏感
if re.match(r"^(?:[A-F0-9]{1,4}:){7}[A-F0-9]{1,4}$", string_IPv6, re.I):
  print "IPv6 vaild"
else:
  print "IPv6 invaild"
#提取IPv6,例子里大小写不敏感
result = re.findall(r"(?<![:.\w])(?:[A-F0-9]{1,4}:){7}[A-F0-9]{1,4}(?![:.\w])", string_IPv6, re.I)
#打印提取结果
print result

总结

以上所述是小编给大家介绍的Python正则表达式匹配和提取IP地址,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
Python ORM框架SQLAlchemy学习笔记之安装和简单查询实例
Jun 10 Python
Python学习笔记整理3之输入输出、python eval函数
Dec 14 Python
python xml解析实例详解
Nov 14 Python
浅谈django开发者模式中的autoreload是如何实现的
Aug 18 Python
Python基于贪心算法解决背包问题示例
Nov 27 Python
Python Json模块中dumps、loads、dump、load函数介绍
May 15 Python
Tensorflow使用支持向量机拟合线性回归
Sep 07 Python
Python multiprocess pool模块报错pickling error问题解决方法分析
Mar 20 Python
解决pycharm remote deployment 配置的问题
Jun 27 Python
Python 通过微信控制实现app定位发送到个人服务器再转发微信服务器接收位置信息
Aug 05 Python
详解基于python-django框架的支付宝支付案例
Sep 23 Python
python 贪心算法的实现
Sep 18 Python
Python 常用模块 re 使用方法详解
Jun 06 #Python
Python比较配置文件的方法实例详解
Jun 06 #Python
Django中使用 Closure Table 储存无限分级数据
Jun 06 #Python
创建Django项目图文实例详解
Jun 06 #Python
Django网络框架之HelloDjango项目创建教程
Jun 06 #Python
python操作小程序云数据库实现简单的增删改查功能
Jun 06 #Python
Django网络框架之创建虚拟开发环境操作示例
Jun 06 #Python
You might like
PHP+MYSQL会员系统的登陆即权限判断实现代码
2011/09/23 PHP
PHP学习笔记(一):基本语法之标记、空白、和注释
2015/04/17 PHP
PHP+Ajax实现无刷新分页实例详解(附demo源码下载)
2016/04/07 PHP
php中如何执行linux命令详解
2018/11/06 PHP
laravel 错误处理,接口错误返回json代码
2019/10/25 PHP
php中使用array_filter()函数过滤数组实例讲解
2021/03/03 PHP
JavaScript 事件冒泡简介及应用
2010/01/11 Javascript
jquery实现的一个导航滚动效果具体代码
2013/05/27 Javascript
深入理解javascript中return的作用
2013/12/30 Javascript
JS删除字符串中重复字符方法
2014/03/09 Javascript
pace.js页面加载进度条插件
2015/09/29 Javascript
原生JS改变透明度实现轮播效果
2017/03/24 Javascript
基于VUE选择上传图片并页面显示(图片可删除)
2017/05/25 Javascript
原生JavaScript实现精美的淘宝轮播图效果示例【附demo源码下载】
2017/05/27 Javascript
Angular 通过注入 $location 获取与修改当前页面URL的实例
2017/05/31 Javascript
详解vue.js数据传递以及数据分发slot
2018/01/20 Javascript
vue项目base64字符串转图片的实现代码
2018/07/13 Javascript
解决Vue2.0 watch对象属性变化监听不到的问题
2018/09/11 Javascript
vue 进阶之实现父子组件间的传值
2019/04/26 Javascript
js实现固定区域内的不重叠随机圆
2019/10/24 Javascript
实例讲解React 组件
2020/07/07 Javascript
[04:40]2016国际邀请赛中国区预选赛全程TOP10镜头集锦
2016/07/01 DOTA
[03:12]完美世界DOTA2联赛PWL DAY9集锦
2020/11/10 DOTA
python计算N天之后日期的方法
2015/03/31 Python
详细介绍Python中的偏函数
2015/04/27 Python
python fabric使用笔记
2015/05/09 Python
Python使用dis模块把Python反编译为字节码的用法详解
2016/06/14 Python
使用Python制作自动推送微信消息提醒的备忘录功能
2018/09/06 Python
python 定时任务去检测服务器端口是否通的实例
2019/01/26 Python
Python API 操作Hadoop hdfs详解
2020/06/06 Python
Python Pygame实现俄罗斯方块
2021/02/19 Python
《独坐敬亭山》教学反思
2014/04/08 职场文书
奥林匹克运动会口号
2014/06/19 职场文书
会计主管竞聘书
2015/09/15 职场文书
班主任工作经验交流会总结
2015/11/02 职场文书
中秋节作文(五年级)之关于月亮
2019/09/11 职场文书