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

import re

s1 = "2221155"

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

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

print(s1.find("1"))

它们的输出分别是:

search():

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

find():

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

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

2.search查找ip

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

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

str1 = "192.168.111.123"

ip = re.search(r"\d\d\d\.\d\d\d\.\d\d\d\.\d\d\d",str1)

print(str1)

输出结果:

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

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

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

re.search(r"[01]\d\d|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]\d\d|2[0-4]\d|25[0-5]){3}",str2)

print(num)

运行结果:

给查找的字符在后边加一个{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

结果:

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

时间: 2021-03-17

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

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

    1.首先来看一下search()和find()的区别 import re s1 = "2221155" #search 字符串第一次出现的位置 print(re.search(&q ...

  2. python中如何反解函数_PyTorch中反卷积的用法详解

    pytorch中的 2D 卷积层 和 2D 反卷积层 函数分别如下: class torch.nn.Conv2d(in_channels, out_channels, kernel_size, str ...

  3. Python中数组切片的用法详解

    Python中数组切片的用法详解 一.python中"::-1"代表什么? 二.python中":"的用法 三.python中数组切片 三.numpy中的整数数 ...

  4. csh for循环_shell中的for循环用法详解_linux shell

    这篇文章主要介绍了shell中的for循环用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 for 命令: for i i ...

  5. conv2d的输入_pytorch1.0中torch.nn.Conv2d用法详解

    Conv2d的简单使用 torch 包 nn 中 Conv2d 的用法与 tensorflow 中类似,但不完全一样. 在 torch 中,Conv2d 有几个基本的参数,分别是 in_channel ...

  6. 给mysql 授权 命令_mysql中授权命令grant用法详解:

    mysql中授权命令grant用法详解: mysql中可以给你一个用户授予如select,insert,update,delete等其中的一个或者多个权限,主要使用grant命令,用法格式为: gra ...

  7. Oracle中游标Cursor基本用法详解

    这篇文章主要介绍了Oracle中游标Cursor基本用法详解,还是比较全面的,具有一定参考价值,需要的朋友可以了解下. 查询 SELECT语句用于从数据库中查询数据,当在PL/SQL中使用SELECT ...

  8. CSS3中font-face属性的用法详解

    CSS3中font-face属性的用法详解 @font-face是CSS3中的一个模块,主要是把自定义的Web字体嵌入到你的网页中,随着@font-face模块的出现,我们在Web的开发中使用字体不怕 ...

  9. escape mysql_MySQL中ESCAPE关键字的用法详解

    MySQL转义 转义即表示转义字符原来的语义,一个转义字符的目的是开始一个字符序列,使得转义字符开头的该字符序列具有不同于该字符序列单独出现时的语义. MySQL中,转义字符以"" ...

  10. html中iframe标签的用法详解

    <iframe>是什么?html中iframe标签的用法详解 原创  2018-10-26 10:24:35 03690 经常进行页面布局的人对于HTML中的iframe标签一定不 ...

最新文章

  1. 前端代码规范(es6,eslint,vue)
  2. FineUI(开源版)v4.2.2发布(8年125个版本,官网示例突破300个)!
  3. 乌班图14.04安装搜狗输入法
  4. 黄金矿工游戏demo
  5. 进程间通讯(一)--邮件槽
  6. linux 文件可执行_深入理解linux内核——可执行文件执行过程(2)
  7. Lingo解决最优化问题
  8. CVS常用命令速查手册
  9. CSDN下载免费获取积分
  10. 安装cdr2019卡在正在下载_cdr2019最新版下载-coreldraw2019安装包中文版 - 极光下载站...
  11. 项目管理第五章项目范围管理
  12. BOS物流管理系统第一阶段
  13. 老陕解读:陕西10大泡馍的品尝诀窍
  14. php --enable-maintainer-zts,我的PHP编译日志
  15. 饱食沪深港澳22日-港:星级传统韩菜-梨花园~110207
  16. on the fly
  17. BUUCTF RSA(二)
  18. IB中文:文学作品中幽默手法的表现方式(上)
  19. 2013全年3GPP RAN1会议关于D2D(Device-to-Device)技术的提案分析
  20. java实现分页打印功能_分页功能的java实现

热门文章

  1. Pandas计算同比环比指标的3种方法
  2. SCI收录期刊——航空航天学科
  3. 美国拉斯维加斯游戏CRAPS(花旗骰)掷骰子的游戏的C语言版本
  4. 如何在Outlook上正确设置雅虎邮箱
  5. NoteExpress样式制作手册
  6. Codeforces Round #700 (Div. 2)-B. The Great Hero-题解-一行实现向上取整
  7. Caught FileNotFoundError in DataLoader worker process 0.
  8. 阿里云域名SSL证书安装
  9. 文件误删除怎么恢复?实用恢复方法不能错过
  10. springMVC实现json 返回到页面