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求pi的方法
Oct 08 Python
python列表操作实例
Jan 14 Python
Python脚本实现网卡流量监控
Feb 14 Python
Python文件去除注释的方法
May 25 Python
python下载文件记录黑名单的实现代码
Oct 24 Python
python3第三方爬虫库BeautifulSoup4安装教程
Jun 19 Python
Python从函数参数类型引出元组实例分析
May 28 Python
Python数据可视化 pyecharts实现各种统计图表过程详解
Aug 15 Python
Python web如何在IIS发布应用过程解析
May 27 Python
Pandas对DataFrame单列/多列进行运算(map, apply, transform, agg)
Jun 14 Python
windows支持哪个版本的python
Jul 03 Python
Flask-SocketIO服务端安装及使用代码示例
Nov 26 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中heredoc与nowdoc介绍
2014/12/25 PHP
PHP连接MSSQL方法汇总
2016/02/05 PHP
PHP检测链接是否存在的代码实例分享
2016/05/06 PHP
PHP反射机制原理与用法详解
2017/02/15 PHP
PHP经典实用正则表达式小结
2017/05/04 PHP
PHP中的访问修饰符简单比较
2019/02/02 PHP
xml文档转换工具,附图表例子(hta)
2010/11/17 Javascript
HTML5附件拖拽上传drop &amp; google.gears实现代码
2011/04/28 Javascript
javascript 构造函数强制调用经验总结
2012/12/02 Javascript
JS替换文本域内的回车示例
2014/02/18 Javascript
Jquery 返回json数据在IE浏览器中提示下载的问题
2014/05/18 Javascript
JavaScript控制按钮可用或不可用的方法
2015/04/03 Javascript
JS数组操作(数组增加、删除、翻转、转字符串、取索引、截取(切片)slice、剪接splice、数组合并)
2016/05/20 Javascript
AngularJS入门教程之静态模板详解
2016/08/18 Javascript
AngularJS中的promise用法分析
2017/05/19 Javascript
Angular指令之restict匹配模式的详解
2017/07/27 Javascript
微信小程序实现红包功能(后端PHP实现逻辑)
2018/07/11 Javascript
nodejs 使用nodejs-websocket模块实现点对点实时通讯
2018/11/28 NodeJs
详解如何在vscode里面调试js和node.js的方法步骤
2018/12/24 Javascript
element-ui 时间选择器限制范围的实现(随动)
2019/01/09 Javascript
js实现多个倒计时并行 js拼团倒计时
2019/02/25 Javascript
node.js中ws模块创建服务端和客户端,网页WebSocket客户端
2019/03/06 Javascript
微信小程序后端实现授权登录
2020/02/24 Javascript
Python读写Redis数据库操作示例
2014/03/18 Python
Python实现将不规范的英文名字首字母大写
2016/11/15 Python
python 函数传参之传值还是传引用的分析
2017/09/07 Python
Python编程实现线性回归和批量梯度下降法代码实例
2018/01/04 Python
python 查找文件名包含指定字符串的方法
2018/06/05 Python
Python 从列表中取值和取索引的方法
2018/12/25 Python
Python饼状图的绘制实例
2019/01/15 Python
python实现随机漫步方法和原理
2019/06/10 Python
通过代码实例了解Python异常本质
2020/09/16 Python
大专生毕业的自我评价
2014/02/06 职场文书
教师对学生的寄语
2014/04/03 职场文书
班级学习计划书
2014/04/27 职场文书
业绩倒数第一的检讨书
2014/09/24 职场文书