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 del()函数用法
Mar 24 Python
Python实现在Linux系统下更改当前进程运行用户
Feb 04 Python
Django如何实现内容缓存示例详解
Sep 24 Python
浅谈使用Python内置函数getattr实现分发模式
Jan 22 Python
实例讲解Python中整数的最大值输出
Mar 17 Python
基于django传递数据到后端的例子
Aug 16 Python
pytorch中tensor.expand()和tensor.expand_as()函数详解
Dec 27 Python
django实现更改数据库某个字段以及字段段内数据
Mar 31 Python
150行Python代码实现带界面的数独游戏
Apr 04 Python
jupyter 实现notebook中显示完整的行和列
Apr 09 Python
matplotlib图例legend语法及设置的方法
Jul 28 Python
详解Pycharm安装及Django安装配置指南
Sep 15 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实现文件安全下载
2006/10/09 PHP
php5.2.0内存管理改进
2007/01/22 PHP
PHP form 表单传参明细研究
2009/07/17 PHP
php 数组动态添加实现代码(最土团购系统的价格排序)
2011/12/30 PHP
基于PHP magic_quotes_gpc的使用方法详解
2013/06/24 PHP
php获取客户端电脑屏幕参数的方法
2015/01/09 PHP
PHP抓取网页、解析HTML常用的方法总结
2015/07/01 PHP
PHP mysqli事务操作常用方法分析
2017/07/22 PHP
Laravel框架实现调用百度翻译API功能示例
2019/05/30 PHP
js form 验证函数 当前比较流行的错误提示
2009/06/23 Javascript
JS获取并操作iframe中元素的方法
2013/03/21 Javascript
javascript:window.open弹出窗口的位置问题
2014/03/18 Javascript
Javascript aop(面向切面编程)之around(环绕)分析
2015/05/01 Javascript
Bootstrap实现水平排列的表单
2016/07/04 Javascript
Vue2几种常见开局方式详解
2017/09/09 Javascript
详解使用vuex进行菜单管理
2017/12/21 Javascript
node实现爬虫的几种简易方式
2019/08/22 Javascript
python BeautifulSoup设置页面编码的方法
2015/04/03 Python
python开发之IDEL(Python GUI)的使用方法图文详解
2015/11/12 Python
基于Django用户认证系统详解
2018/02/21 Python
Python在groupby分组后提取指定位置记录方法
2018/04/20 Python
对python判断ip是否可达的实例详解
2019/01/31 Python
OpenCV搞定腾讯滑块验证码的实现代码
2019/05/18 Python
jupyter notebook 中输出pyecharts图实例
2020/04/23 Python
python向字符串中添加元素的实例方法
2019/06/28 Python
解决python运行启动报错问题
2020/06/01 Python
Django数据统计功能count()的使用
2020/11/30 Python
澳大利亚著名的纺织品品牌:Canningvale
2020/05/05 全球购物
高中生学习生活的自我评价
2013/10/09 职场文书
行政主管岗位职责
2013/11/18 职场文书
高中自我鉴定
2013/12/20 职场文书
毕业生自荐信格式
2014/03/07 职场文书
幼儿园小班家长寄语
2014/04/02 职场文书
年度优秀员工获奖感言
2014/08/15 职场文书
观看《信仰》心得体会
2016/01/15 职场文书
《吃水不忘挖井人》教学反思
2016/02/22 职场文书