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的Twisted框架构建非阻塞下载程序的实例教程
May 25 Python
利用Python操作消息队列RabbitMQ的方法教程
Jul 19 Python
Python下使用Scrapy爬取网页内容的实例
May 21 Python
实用自动化运维Python脚本分享
Jun 04 Python
tensorflow实现图像的裁剪和填充方法
Jul 27 Python
对python判断ip是否可达的实例详解
Jan 31 Python
利用pytorch实现对CIFAR-10数据集的分类
Jan 14 Python
基于python实现音乐播放器代码实例
Jul 01 Python
Python scrapy爬取小说代码案例详解
Jul 09 Python
浅析python中的del用法
Sep 02 Python
详解Python利用configparser对配置文件进行读写操作
Nov 03 Python
在Python中如何使用yield
Jun 07 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
Zend studio文件注释模板设置方法
2013/09/29 PHP
PHP构造函数与析构函数用法示例
2016/09/28 PHP
PHP互换两个变量值的方法(不用第三变量)
2016/11/14 PHP
javascript 树控件 比较好用
2009/06/11 Javascript
基于jQuery的树控件实现代码(asp.net+json)
2010/07/11 Javascript
更换select下拉菜单背景样式的实现代码
2011/12/20 Javascript
jquery实现图片渐变切换兼容ie6/Chrome/Firefox
2013/08/02 Javascript
可自己添加html的伪弹出框实现代码
2013/09/08 Javascript
ajax请求get与post的区别总结
2013/11/04 Javascript
js控制容器隐藏出现防止样式变化的两种方法
2014/04/25 Javascript
node.js中的emitter.emit方法使用说明
2014/12/10 Javascript
AngularJS模块管理问题的非常规处理方法
2015/04/29 Javascript
js实现的早期滑动门菜单效果代码
2015/08/27 Javascript
JS基于正则实现数字千分位用逗号分隔的方法
2017/06/16 Javascript
使用JavaScript实现链表的数据结构的代码
2017/08/02 Javascript
JS实现的获取银行卡号归属地及银行卡类型操作示例
2019/01/08 Javascript
JS双向链表实现与使用方法示例(增加一个previous属性实现)
2019/01/31 Javascript
js数组中去除重复值的几种方法
2020/08/03 Javascript
python执行外部程序的常用方法小结
2015/03/21 Python
解决Shell执行python文件,传参空格引起的问题
2018/10/30 Python
Python 静态方法和类方法实例分析
2019/11/21 Python
python双端队列原理、实现与使用方法分析
2019/11/27 Python
Python模拟FTP文件服务器的操作方法
2020/02/18 Python
python 中不同包 类 方法 之间的调用详解
2020/03/09 Python
python之openpyxl模块的安装和基本用法(excel管理)
2021/02/03 Python
CSS3 实现穿梭星空动画
2020/11/13 HTML / CSS
英国最大的滑板品牌选择:Route One
2019/09/22 全球购物
社区学雷锋活动策划方案
2014/01/30 职场文书
自行车广告词大全
2014/03/21 职场文书
党员服务承诺书
2014/05/28 职场文书
汽车销售经理岗位职责
2014/06/09 职场文书
教师对照四风自我剖析材料
2014/09/30 职场文书
六查六看剖析材料
2014/10/06 职场文书
2014年信贷员工作总结
2014/11/18 职场文书
2014年团总支工作总结
2014/11/21 职场文书
教师节获奖感言
2015/07/31 职场文书