Python-正则表达式(给同事培训篇2)

news/2024/7/5 2:31:47

本篇依旧是我在公司给同事培训的内容,与上一篇类似,不过本篇会内容偏简单,会多讲两种。一起看看;

数据

datas = """
[16:45:18]2
[16:45:18]# cap: 13, 12, 11
[16:45:18]cap: 13, 12, 11
[16:45:18]cap: 13, 12, 11
[16:45:18]cap: 13, 12, 11
"""

数据,不仅限于这样,这样的数据一般都是来自日志,那么如果是实时的话,就是一行一行的了。

前言

同样使用正则,不过本篇还会涉及其他内容,也就是上面所说的实时数据,怎么处理拿到对应的值。

需求:拿到cap: 13, 12, 11最后一个11,其他数据一样,都只需要最后一个","后面位置的数字数据

2c6d68f156a1f3db2576e033ff1f7e33.png

使用正则匹配

方式一

import re

values = re.findall(".*cap:(.*)",datas)
for value in values:
    print(value.split(",")[-1].strip())

这种就不多介绍了,上一节的内容。可以去看看

方式二

values = re.findall(r"\b\d+$",datas,re.M)
print(values)

这里就用到了两个新的知识点了。\b跟

。寻找某个字符开头的的字符。

"$":匹配特定字符的结尾
re.M:一般与美元符号跟插入符号一起使用,匹配字符串开头的模式和每个换行符的开头内容

看个简单的例子,理解一下re.M

import re

nums = """aa
an
anan
annaan
anananqingan
qinganan
qingaaaaaaan
anqingan"""

res = re.findall('^a',nums,flags=re.M)
res1 = re.findall('^a',nums)
print(res)
print(res1)
"""
['a', 'a', 'a', 'a', 'a', 'a']
['a']
"""

这样不好的地方就是会将数据中的"2"匹配出来,需要再次做一次处理。

方式二衍变

values = re.findall(r"[\d+]\d+$",datas,re.M)
print(values)

字符串处理

values = datas.strip().splitlines()
for value in values:
    if "," in value:
        print(value.split(",")[-1].strip())

这里用到了一个不是很常用的方法,splitlines多行分割,跟split有异曲同工之妙。这里将所有数据分割成列表,然后循环,判断,再分割取值,最后得到最后一个,之后的数据。


http://lihuaxi.xjx100.cn/news/1380067.html

相关文章

Latex | 将MATLAB图并导入Latex中的方法

一、问题描述 用Latex时写paper时,要导入MATLAB生成的图进去 二、解决思路 (1)在MATLAB生成图片的窗口中,导出.eps矢量图 (2)把图上传到overleaf的目录 (3)在文中添加相应代码 三…

【Redis】如何实现一个合格的分布式锁

文章目录 参考1、概述2、Redis粗糙实现3、遗留问题3.1、误删情况3.2、原子性保证3.3、超时自动解决3.4、总结 4、Redis实现优缺5、集群问题5.1、主从集群5.2、集群脑裂 6、RedLock7、Redisson7.1、简单实现7.2、看门狗机制 参考 Redisson实现Redis分布式锁的N种姿势 (qq.com)小…

背包问题总结

目录 01背包 完全背包 总结 背包问题算是动态规划的经典问题了,一定要记住动规五部曲 1.定义dp数组 2.确定递推公式 3.初始化 4.确定遍历顺序 5.验证 01背包 关于01背包就是给定背包的容量和每个的物品价值,一个物品只能放一次,求背包的最…

git远程一个分支对应本地两个分支推送

git远程一个分支对应本地两个分支推送 你可以使用以下命令将两个本地分支推送到远程仓库中的一个远程分支&#xff1a; 首先&#xff0c;将第一个本地分支推送到远程仓库&#xff1a; git push <远程仓库名称> <本地分支名称>:<远程分支名称>例如&#xff…

当ChatGPT应用在汽车行业,具体有哪些场景?

​ ChatGPT有潜力彻底改变汽车行业并将其提升到新的高度。在ChatGPT的加持下&#xff0c;该行业的多个领域都将取得重大变化。 利用ChatGPT作更高级的虚拟助理 你可能用过现有的虚拟助理&#xff0c;它们一系列的回复有时候让人不得不感叹一句“人工智障”&#xff01;然而&a…

CISA学习笔记-第一章、信息系统审计过程

传统的审计三方关系理论指明&#xff0c;审计作为独立于会计记录之外的一项重要职能&#xff0c;是公司财务信息公允可靠的有力保障&#xff0c;制约着会计行为&#xff0c;制衡了会计权力。 1. IS审计和保障标准、指南、工具 职业道德规范 信息技术保证框架&#xff08;ITAF&a…

python怎么实现tcp和udp连接

目录 什么是tcp连接 什么是udp连接 python怎么实现tcp和udp连接 什么是tcp连接 TCP&#xff08;Transmission Control Protocol&#xff09;连接是一种网络连接&#xff0c;它提供了可靠的、面向连接的数据传输服务。 在TCP连接中&#xff0c;通信的两端&#xff08;客户端和…

无涯教程-jQuery - triggerHandler( event, data )方法函数

triggerHandler(event&#xff0c;[data])方法触发元素(用于特定事件类型)上所有绑定的事件处理程序&#xff0c;而无需执行浏览器的默认操作&#xff0c;冒泡或实时事件。 triggerHandler( event, [data] ) - 语法 selector.triggerHandler( event, [data] ) 这是此方法使用…