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 相关文章推荐
pycharm 使用心得(一)安装和首次使用
Jun 05 Python
深度剖析使用python抓取网页正文的源码
Jun 11 Python
python对字典进行排序实例
Sep 25 Python
Python转换HTML到Text纯文本的方法
Jan 15 Python
用Python计算三角函数之atan()方法的使用
May 15 Python
分享python数据统计的一些小技巧
Jul 21 Python
Python数据预处理之数据规范化(归一化)示例
Jan 08 Python
python flask安装和命令详解
Apr 02 Python
Python如何实现小程序 无限求和平均
Feb 18 Python
从零开始的TensorFlow+VScode开发环境搭建的步骤(图文)
Aug 31 Python
Python加载数据的5种不同方式(收藏)
Nov 13 Python
利用 Python 的 Pandas和 NumPy 库来清理数据
Apr 13 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
真正面向对象编程:PHP5.01发布
2006/10/09 PHP
基于PHP常用函数的用法详解
2013/05/10 PHP
PHP获取当前页面完整URL的实现代码
2013/06/10 PHP
PHP函数strip_tags的一个bug浅析
2014/05/22 PHP
php采用ajax数据提交post与post常见方法总结
2014/11/10 PHP
PHP超全局数组(Superglobals)介绍
2015/07/01 PHP
IE8 原生JSON支持
2009/04/13 Javascript
jquery select选中的一个小问题
2009/10/11 Javascript
window.onbeforeunload方法在IE下无法正常工作的解决办法
2010/01/23 Javascript
浅析Js(Jquery)中,字符串与JSON格式互相转换的示例(直接运行实例)
2013/07/09 Javascript
javascript简单性能问题及学习笔记
2014/02/04 Javascript
使用原生js实现页面蒙灰(mask)效果示例代码
2014/06/20 Javascript
fckeditor粘贴Word时弹出窗口取消的方法
2014/10/30 Javascript
vue2 前端搜索实现示例
2018/02/26 Javascript
vue2过滤器模糊查询方法
2018/09/16 Javascript
elementUI中Table表格问题的解决方法
2018/12/04 Javascript
微信小程序云开发之使用云数据库
2019/05/17 Javascript
Django学习笔记之ORM基础教程
2018/03/27 Python
python 字典中取值的两种方法小结
2018/08/02 Python
python使用PyQt5的简单方法
2019/02/27 Python
win10安装tensorflow-gpu1.8.0详细完整步骤
2020/01/20 Python
html5 利用canvas手写签名并保存的实现方法
2018/07/12 HTML / CSS
video结合canvas实现视频在线截图功能
2018/06/25 HTML / CSS
HTML5开发动态音频图的实现
2020/07/02 HTML / CSS
美国在线家具网站:GDFStudio
2021/03/13 全球购物
应届生会计求职信
2013/11/11 职场文书
员工入职担保书范文
2014/04/01 职场文书
销售员岗位职责
2015/02/10 职场文书
医生辞职信范文
2015/03/02 职场文书
小学生红领巾广播稿
2015/08/19 职场文书
2016简单的租房合同范本
2016/03/18 职场文书
导游词之神仙居景区
2019/11/15 职场文书
golang通过递归遍历生成树状结构的操作
2021/04/28 Golang
浅谈golang package中init方法的多处定义及运行顺序问题
2021/05/06 Golang
Pytorch 中net.train 和 net.eval的使用说明
2021/05/22 Python
从结婚开始的恋爱故事。小说《我的美好婚事》TV动画化决定
2022/04/07 日漫