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下载歌词并嵌入歌曲文件中的实现代码
Nov 13 Python
Python使用QRCode模块生成二维码实例详解
Jun 14 Python
django+xadmin+djcelery实现后台管理定时任务
Aug 14 Python
Python3实现爬虫爬取赶集网列表功能【基于request和BeautifulSoup模块】
Dec 05 Python
BP神经网络原理及Python实现代码
Dec 18 Python
对Python 多线程统计所有csv文件的行数方法详解
Feb 12 Python
Django的models模型的具体使用
Jul 15 Python
解决jupyter notebook import error但是命令提示符import正常的问题
Apr 15 Python
解析Python 偏函数用法全方位实现
Jun 26 Python
解决TensorFlow程序无限制占用GPU的方法
Jun 30 Python
详解BeautifulSoup获取特定标签下内容的方法
Dec 07 Python
Python使用BeautifulSoup4修改网页内容
May 20 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
php另类上传图片的方法(PHP用Socket上传图片)
2013/10/30 PHP
php创建多级目录与级联删除文件的方法示例
2019/09/12 PHP
动态加载JS文件的三种方法
2013/11/08 Javascript
用unescape反编码得出汉字示例
2014/04/24 Javascript
jquery实现动画菜单的左右滚动、渐变及图形背景滚动等效果
2015/08/25 Javascript
JS+JSP通过img标签调用实现静态页面访问次数统计的方法
2015/12/14 Javascript
深入解析Javascript闭包的功能及实现方法
2016/07/10 Javascript
JS模拟实现方法重载示例
2016/08/03 Javascript
微信和qq时间格式模板实例详解
2016/10/21 Javascript
JS实现焦点图轮播效果的方法详解
2016/12/19 Javascript
bootstrap侧边栏圆点导航
2017/01/11 Javascript
利用Javascript实现一套自定义事件机制
2017/12/14 Javascript
vue 引用自定义ttf、otf、在线字体的方法
2019/05/09 Javascript
微信小程序自定义tabBar在uni-app的适配详解
2019/09/30 Javascript
详解Python中的正则表达式的用法
2015/04/09 Python
python MySQLdb Windows下安装教程及问题解决方法
2015/05/09 Python
Python中selenium实现文件上传所有方法整理总结
2017/04/01 Python
pandas对指定列进行填充的方法
2018/04/11 Python
python3使用SMTP发送HTML格式邮件
2018/06/19 Python
Python  unittest单元测试框架的使用
2018/09/08 Python
原生python实现knn分类算法
2019/10/24 Python
关于tf.nn.dynamic_rnn返回值详解
2020/01/20 Python
Python找出列表中出现次数最多的元素三种方式
2020/02/24 Python
在django中使用post方法时,需要增加csrftoken的例子
2020/03/13 Python
Python 字典中的所有方法及用法
2020/06/10 Python
CSS3使用transition实现的鼠标悬停淡入淡出
2015/01/09 HTML / CSS
全世界最美丽的四星和五星级酒店预订:Prestigia.com
2017/11/15 全球购物
学习雷锋寄语大全
2014/04/11 职场文书
公务员个人考察材料
2014/12/23 职场文书
2015共产党员公开承诺书
2015/01/22 职场文书
清明节网上祭英烈寄语2015
2015/03/04 职场文书
2015年国庆节标语大全
2015/07/30 职场文书
关于python中readlines函数的参数hint的相关知识总结
2021/06/24 Python
万能密码的SQL注入漏洞其PHP环境搭建及防御手段
2021/09/04 SQL Server
MySQL中优化SQL语句的方法(show status、explain分析服务器状态信息)
2022/04/09 MySQL