python search用法,Python-re中search()函数的用法详解(查找ip)

2023-11-10

1.首先来看一下search()和find()的区别

import re

s1 = "2221155"

#search 字符串第一次出现的位置

print(re.search("1",s1))

print(s1.find("1"))

它们的输出分别是:

7cc74c7e724fe4370f091862858d6787.png

search():

函数返回的是查找的字符在字符串中的位置

find():

函数返回的也是在字符串中的位置

目前来看两者并没有什么区别,但是**search()**函数的高级操作还在后边哦!

2.search查找ip

那么search()函数如何查找字符串中的ip地址呢来看例子

先说一种比较单一化的查找:

str1 = "192.168.111.123"

ip = re.search(r"ddd.ddd.ddd.ddd",str1)

print(str1)

输出结果:

60147a8f476020bf7ab1de7093488a6a.png

这里要首先定义好ip的格式 xxx.xxx.xxx.xxx再进行查找

但是这里知道ip是没有固定格式的,首先他的范围是 0-255,但是他可能是1位数,二位数或者三位数,这里就需要进阶了,来看下边的代码:

①确定单个数范围在0-255:

re.search(r"[01]dd|2[0-4]d|25[0-5]]",str)

这句代码里边的参数的意思是(| 为“或”):

第一位如果是0,1的话,后边两位随便取值

第一位如果是2的话,那第二位就得是0到4,第三位随意取值

第一位第二位如果是2和5的话,那么第三位只能是0到5了

这样就能得到字符串里第一个 0-255的值

②如果要多找几个呢?

再举个小例子:

str2 = "192168111123"

num = re.search(r"([01]dd|2[0-4]d|25[0-5]){3}",str2)

print(num)

运行结果:

b2e433c1ca6dad68b589ed10d95786d3.png

给查找的字符在后边加一个{n} n代表你要找几次,看例子我找的是3次,所以最后找到的值是3个挨着的0-255的数。那么重点来啦

③找到ip

看代码:

str_ip = "ssss192.168.1.1aaaa"

ip = re.search(r"(([01]{0,1}d{0,1}d|2[0-4]d|25[0-5]).){3}([01]{0,1}d{0,1}d|2[0-4]d|25[0-5])",str_ip)

print(i

结果:

d03698fe38c65f2facccd68f5f0169b4.png

到此这篇关于Python-re中search()函数的用法详解(查找ip)的文章就介绍到这了,更多相关Python search()函数内容请搜索云海天教程以前的文章或继续浏览下面的相关文章希望大家以后多多支持云海天教程!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python search用法,Python-re中search()函数的用法详解(查找ip) 的相关文章

  • GMM-HMM在语音识别中的应用

    1 语音识别系统的基本结构 2 涉及算法 3 GMM高斯混合模型 3 1高斯混合模型的基本概念 高斯混合模型是指具有如下形式的概率分布模型 p y k 1k k y k p y arrowvert theta sum k 1 k alpha
  • docker redis单例安装

    环境 windows docker desktop 版本 19 03 12 1 下载redis的docker镜像 docker pull redis 6 0 8 2 设置docker共享目录 docker中的共享目录 即能将宿主的文件同步到
  • Pandas

    文章目录 1 什么是Pandas 2 Pandas的数据结构 2 1 Series 2 1 1 Series的创建 2 1 2 Series的属性 2 2 DataFrame 2 2 1 DataFrame的创建 2 2 2 DataFra
  • 在linux上odoo搭建

    一 配置Postgresql数据库 1 安装Postgresql root runner home sg os apt get install postgresql 2 配置postgresql 拷贝 var lib postgresql
  • Centos7五步安装Docker并解决docker官方镜像无法访问问题

    根据官方文档 https docs docker com install linux docker ce centos 搭建docker 1 卸载docker旧版本 sudo yum remove docker docker client
  • C++实现——小孩分糖果问题

    include
  • el-dialog组件实现可以拖拽移动功能

    面向百度编程的小白最近遇到一个el dialog实现拖拽移动的需求 翻了翻饿了么官网发现el dialog并没有关于这一块的属性方法 所以与大家分享一下有关的方法 首先新建一个js文件 directive js文件 用于详情对话框可移动 i
  • python4行代码实现九九乘法表

    九九乘法表是python的循环嵌套 两次利用range 相乘并输出 for i in range 1 10 for j in range 1 i 1 print sx s s j i i j end print
  • QThread线程的运行和退出

    关于QT退出线程 一直迷迷糊糊的 凑活着能用就行 出了问题总觉得莫名其妙 现在静下心来总结一下 感谢 QThread的用法 开启与退出 Qt QThread 这是我 见过解析最全面的一片文章 线程运行有两种方式 include
  • Python图像处理

    1 图像平滑 图像平滑是指受传感器和大气等因素的影响 遥感图像上会出现某些亮度变化过大的区域 或出现一些亮点 也称噪声 这种为了抑制噪声 使图像亮度趋于平缓的处理方法就是图像平滑 图像平滑实际上是低通滤波 平滑过程会导致图像边缘模糊化 图像
  • 关于FlashDB的应用-GD32F450上

    一 介绍 1 FlashDB是什么 是用于嵌入式的数据库存储 2 FlashDB谁整出来的 是armink 朱天龙 3 FlashDB依赖于什么 片内或者片外的Flash存储 FAL 4 FAL什么 FAL Flash Abstractio
  • 制作搭建宠物商城小程序,打造便捷的宠物购物体验

    随着宠物市场的不断发展 宠物商城小程序成为了满足宠物爱好者需求的重要工具 在现代社会 宠物已经成为人们生活中不可或缺的一部分 作为宠物爱好者 我们对于宠物食品 用品 医疗保健品等需求日益增长 而宠物商城小程序则为我们提供了一个便捷高效的购物
  • 在Matlab2018b中配置MinGW-w64 C/C++ 编译器

    在Matlab2018b跑代码时 输入mex setup 报错 错误使用 mex 未找到支持的编译器 您可以安装免费提供的 MinGW w64 C C 编译器 在 https jmeubank github io tdm gcc artic
  • 最详细的堆排序---排序算法,思路清晰动图讲解,五分钟搞懂!

    堆排序 同步微信公众号乐享Coding 欢迎你的关注 介绍 利用堆这种数据结构而设计的一种排序算法 堆排序是一种选择排序 它的最坏 最好 平均时间复杂度均为O nlogn 它是不稳定排序 对于堆排序 难点在于二叉树的顺序数组储存到大顶堆 小
  • psm倾向得分匹配法举例_基于R:使用“lalonde”数据集探讨倾向值匹配方法(PSM)的效果...

    1 导言 PSM 即倾向值匹配法 是处理社会研究反事实问题 以得到因果效应的重要技术之一 胡安宁 2020 概而言之 即先将多维的混淆变量降维成单维的倾向值 然后让接受实验处理的个体与未接受实验处理的个体基于倾向值进行匹配 当倾向值相同时
  • java——equals(),hashCode()重写与不重写区别

    1 总结 1 两个obj 如果equals 相等 hashCode 一定相等 2 两个obj 如果hashCode 相等 equals 不一定相等 2 不重写equals hashCode 不重写的时候 比较两个对象是否 相等 默认跟 效果
  • QT中实现当前时间实时更新

    如果是通过qt designer弄了个lcdNumber 想通过这个控件显示时间 那么你可以这么做 在 h文件中 1 添加头文件 include
  • 龙书学习笔记

    目录 第一章 引论 1 1 语言处理器 1 2 一个编译器的结构 1 2 1 词法分析 1 2 2 语法分析 1 2 3 语义分析器 1 2 4 中间代码生成
  • 计算机网络八股文

    浏览器输入一个网站后 具体发生了什么 进行DNS解析操作 根据DNS解析结果查找到服务器IP地址 通过IP寻址找到服务器 并利用三次握手建立TCP连接 浏览器生成HTTP保温 发送HTTP请求 等待服务器响应 服务器处理请求 返回服务器 根

随机推荐