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

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

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

数据

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,其他数据一样,都只需要最后一个","后面位置的数字数据

使用正则匹配

方式一

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有异曲同工之妙。这里将所有数据分割成列表,然后循环,判断,再分割取值,最后得到最后一个,之后的数据。

目录
相关文章
|
7天前
|
Python
在Python中,可以使用内置的`re`模块来处理正则表达式
在Python中,可以使用内置的`re`模块来处理正则表达式
19 5
|
12天前
|
数据采集 Web App开发 iOS开发
如何使用 Python 语言的正则表达式进行网页数据的爬取?
使用 Python 进行网页数据爬取的步骤包括:1. 安装必要库(requests、re、bs4);2. 发送 HTTP 请求获取网页内容;3. 使用正则表达式提取数据;4. 数据清洗和处理;5. 循环遍历多个页面。通过这些步骤,可以高效地从网页中提取所需信息。
|
1月前
|
Python
【收藏备用】Python正则表达式的7个实用技巧
【收藏备用】Python正则表达式的7个实用技巧
21 1
|
1月前
|
数据安全/隐私保护 Python
Python实用正则表达式归纳
Python实用正则表达式归纳
|
1月前
|
Python
Python 正则表达式高级应用指南
正则表达式是文本模式匹配的强大工具,Python 的 `re` 模块支持其操作。本文介绍正则表达式的高级应用,包括复杂模式匹配(如邮箱、电话号码)、分组与提取、替换操作、多行匹配以及贪婪与非贪婪模式的区别。通过示例代码展示了如何灵活运用这些技巧解决实际问题。
28 7
|
1月前
|
JavaScript 前端开发 Scala
Python学习十:正则表达式
这篇文章是关于Python中正则表达式的使用,包括re模块的函数、特殊字符、匹配模式以及贪婪与非贪婪模式的详细介绍。
17 0
|
1月前
|
数据采集 开发者 Python
Python正则表达式之re.compile函数
`re.compile`是Python正则表达式处理中一个强大的工具,它通过预先编译正则表达式,不仅提升了执行效率,还增强了代码的组织性和可读性。掌握其使用,对于涉及文本分析、数据清洗、日志处理等领域的Python开发者来说,是非常必要的技能。正确并高效地应用这一功能,可以显著提升程序的性能和维护性。
67 0
|
2月前
|
索引 Python
30天拿下Python之正则表达式
30天拿下Python之正则表达式
17 0
|
2月前
|
数据采集 Python
Python正则表达式提取车牌号
Python正则表达式提取车牌号
|
2月前
|
数据采集 Python
Python正则表达式提取车牌号
Python正则表达式提取车牌号