分享一场Python正则表达式中的特殊序列问答交流

简介: 分享一场Python正则表达式中的特殊序列问答交流

大家好,我是我是皮皮。


一、前言


前几天在Python最强王者交流群有个叫【杰】的粉丝问了一个关于Python正则表达式的问题,讨论十分火热,这里拿出来给大家分享下,一起学习。

1ca2adf074a991e800d6a6460f70b16d.png

下图是原始题目:

6ac588e9944a4ad7e81a2c5aae877fd7.jpg

下面是给出的答案,乍看有点难懂,不过有正则狂魔【小王】大佬在,问题不大。

884b2d9024b95645549be6fb5cb7e36d.png


二、解决过程


这个这里给出【小王】大佬的解答,一起来看看吧,下面是他给的一个示例代码。

import re
# 命名分组对应命名引用
pattern = re.compile(r"(?P<num>\d+).*?(?P=num)")
txt = "123你好呀123"
print(re.findall(pattern, txt))
# 匿名分组对应匿名引用
pattern = re.compile(r"(\d+).*?\1")
txt = "123你好呀123"
print(re.findall(pattern, txt))
# 命名分组对应匿名引用
pattern = re.compile(r"(\d+).*?\1")
txt = "123你好呀123"
print(re.findall(pattern, txt))

输出结果如下图所示:

403c4788f496032ffa00b2373b0c2c04.png

关于输出的解析如下:

97118d36a0a6bdaf15696d1262dadc94.png

不过这么说还是不太好理解,这里【小王】大佬又给出了另外一个简单的示例,代码如下:

txt = "测试文本123python   测试文本python~"
pattern = re.compile(r"([一-龟]+)(\d+)(\w+)(\s+)(\1)(\3).*")
print(re.findall(pattern, txt))

输出结果如下图所示:

848adb46c031a558317689531ab62071.png

这下就清晰多了!

7f31b7a3c282e98566c9ead040bf4035.png


三、总结


大家好,我是皮皮。这篇文章基于粉丝提问,针对Python正则表达式中的特殊序列问题,给出了具体说明和演示,顺利的帮助粉丝解决了问题。


最后感谢粉丝【杰】提问,感谢【小王】、【🌑(这是月亮的背面)】、【dcpeng】、【wangning】、【Chloé P.】等大佬们参与学习交流。


小伙伴们,快快用实践一下吧!如果在学习过程中,有遇到任何问题,欢迎加我好友,我拉你进Python学习交流群共同探讨学习。


相关文章
|
2月前
|
机器学习/深度学习 数据采集 算法
时间序列结构变化分析:Python实现时间序列变化点检测
在时间序列分析和预测中,准确检测结构变化至关重要。新出现的分布模式往往会导致历史数据失去代表性,进而影响基于这些数据训练的模型的有效性。
168 1
|
3月前
|
机器学习/深度学习 算法 数据挖掘
6种有效的时间序列数据特征工程技术(使用Python)
在本文中,我们将探讨使用日期时间列提取有用信息的各种特征工程技术。
136 0
|
4天前
|
Python
在Python中,可以使用内置的`re`模块来处理正则表达式
在Python中,可以使用内置的`re`模块来处理正则表达式
12 5
|
9天前
|
数据采集 Web App开发 iOS开发
如何使用 Python 语言的正则表达式进行网页数据的爬取?
使用 Python 进行网页数据爬取的步骤包括:1. 安装必要库(requests、re、bs4);2. 发送 HTTP 请求获取网页内容;3. 使用正则表达式提取数据;4. 数据清洗和处理;5. 循环遍历多个页面。通过这些步骤,可以高效地从网页中提取所需信息。
|
2月前
|
机器学习/深度学习 索引 Python
python之序列
python之序列
144 59
|
30天前
|
存储 编译器 索引
Python 序列类型(2)
【10月更文挑战第8天】
Python 序列类型(2)
|
1月前
|
存储 C++ 索引
Python 序列类型(1)
【10月更文挑战第8天】
|
1月前
|
Python
【收藏备用】Python正则表达式的7个实用技巧
【收藏备用】Python正则表达式的7个实用技巧
21 1
|
1月前
|
数据安全/隐私保护 Python
Python实用正则表达式归纳
Python实用正则表达式归纳
|
1月前
|
Python
Python 正则表达式高级应用指南
正则表达式是文本模式匹配的强大工具,Python 的 `re` 模块支持其操作。本文介绍正则表达式的高级应用,包括复杂模式匹配(如邮箱、电话号码)、分组与提取、替换操作、多行匹配以及贪婪与非贪婪模式的区别。通过示例代码展示了如何灵活运用这些技巧解决实际问题。
26 7