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抓取京东价格分析京东商品价格走势
Jan 09 Python
python计算书页码的统计数字问题实例
Sep 26 Python
Python之os操作方法(详解)
Jun 15 Python
Python编程django实现同一个ip十分钟内只能注册一次
Nov 03 Python
django反向解析URL和URL命名空间的方法
Jun 05 Python
python样条插值的实现代码
Dec 17 Python
Python常用爬虫代码总结方便查询
Feb 25 Python
python3 pygame实现接小球游戏
May 14 Python
Python shelve模块实现解析
Aug 28 Python
python实现文件的分割与合并
Aug 29 Python
Python控制台输出时刷新当前行内容而不是输出新行的实现
Feb 21 Python
10个顶级Python实用库推荐
Mar 04 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
虹吸壶是谁发明的?煮出来的咖啡好喝吗
2021/03/04 冲泡冲煮
php目录管理函数小结
2008/09/10 PHP
php自动加载机制的深入分析
2013/06/08 PHP
yii2带搜索功能的下拉框实例详解
2016/05/12 PHP
PHP入门教程之数学运算技巧总结
2016/09/11 PHP
JavaScript中函数声明优先于变量声明的实例分析
2012/03/01 Javascript
THREE.JS入门教程(1)THREE.JS使用前了解
2013/01/24 Javascript
jQuery让控件左右移动的三种实现方法
2013/09/08 Javascript
JS创建自定义表格具体实现
2014/02/11 Javascript
jQuery实现文字自动横移
2017/01/08 Javascript
jQuery选取所有复选框被选中的值并用Ajax异步提交数据的实例
2017/08/04 jQuery
详解JavaScript 中 if / if...else...替换方式
2018/07/15 Javascript
小程序实现搜索框功能
2020/03/26 Javascript
使用layer模态框给新页面传值的方法
2019/09/27 Javascript
[44:41]Fnatic vs Liquid 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[39:07]LGD vs VP 2018国际邀请赛淘汰赛BO3 第二场 8.21
2018/08/22 DOTA
python发送arp欺骗攻击代码分析
2014/01/16 Python
python基础教程之简单入门说明(变量和控制语言使用方法)
2014/03/25 Python
Python中使用Flask、MongoDB搭建简易图片服务器
2015/02/04 Python
Python编程实现二分法和牛顿迭代法求平方根代码
2017/12/04 Python
在python3.5中使用OpenCV的实例讲解
2018/04/02 Python
解决python3读取Python2存储的pickle文件问题
2018/10/25 Python
详解pandas如何去掉、过滤数据集中的某些值或者某些行?
2019/05/15 Python
Django 实现admin后台显示图片缩略图的例子
2019/07/28 Python
Python迭代器Iterable判断方法解析
2020/03/16 Python
关于Django Models CharField 参数说明
2020/03/31 Python
Django实现内容缓存实例方法
2020/06/30 Python
Python中免验证跳转到内容页的实例代码
2020/10/23 Python
Pycharm配置autopep8实现流程解析
2020/11/28 Python
HTML5之web workers_动力节点Java学院整理
2017/07/17 HTML / CSS
LA MER海蓝之谜美国官网:传奇面霜
2016/08/27 全球购物
建筑专业自我鉴定
2013/10/22 职场文书
生产班组长岗位职责
2014/01/05 职场文书
小学教师培训感言
2014/02/11 职场文书
给孩子的新年寄语
2014/04/08 职场文书
Nginx利用Logrotate实现日志分割
2022/05/20 Servers