Python正则表达式re.findall一个有趣的现象

Python3正则匹配re.split,re.finditer及re.findall函数用法详解 本文实例讲述了Python3正则匹配re.split,re.finditer及re.findall函数用法。分享给大家供大家参考,具体如下: re.split re.finditer re.findall @(python3) re.compile() 函数 编译正则表达式模式,返回一个对象。可以把常用的正则表达式编译成正则表达式对象,方便后续调用及提高效率。 re 模块最离不开的就是 re.co... 阅读详情

下面通过几个案例来分析一下,
注意:本节的parsematch函数请参考《妙用re.sub分析正则表达式解析匹配过程》

案例一:

>>> re.findall(r".* .* (.*)",'第二回 悟彻菩提真妙理 断魔归本合元神')
['断魔归本合元神']
>>> parsematch(r".* .* (.*)",'第二回 悟彻菩提真妙理 断魔归本合元神')
第1次匹配,匹配情况:
    匹配子串group(0): 第二回 悟彻菩提真妙理 断魔归本合元神,位置为:(0, 19)
    匹配子串group(1): 断魔归本合元神,位置为:(12, 19)
>>> re.findall(r".* .* (.*)",'第二回 悟彻菩提真妙理 断魔归本合元神')
['断魔归本合元神']

案例二:

>>> re.findall("(.)*",'第二回 悟彻菩提真妙理 断魔归本合元神')
['神', '']
>>> parsematch("(.)*",'第二回 悟彻菩提真妙理 断魔归本合元神')
第1次匹配,匹配情况:
    匹配子串group(0): 第二回 悟彻菩提真妙理 断魔归本合元神,位置为:(0, 19)
    匹配子串group(1): 神,位置为:(18, 19)
第2次匹配,匹配情况:
    匹配子串group(0): ,位置为:(19, 19)

案例三:

>>> re.findall(".*",'第二回 悟彻菩提真妙理 断魔归本合元神')
['第二回 悟彻菩提真妙理\u3000断魔归本合元神', '']
>>> parsematch(".*",'第二回 悟彻菩提真妙理 断魔归本合元神')
第1次匹配,匹配情况:
    匹配子串group(0): 第二回 悟彻菩提真妙理 断魔归本合元神,位置为:(0, 19)
第2次匹配,匹配情况:
    匹配子串group(0): ,位置为:(19, 19)
>>>

案例四:

>>> re.findall(r"(.*) (.*) (.*)",'第二回 悟彻菩提真妙理 断魔归本合元神')
[('第二回', '悟彻菩提真妙理', '断魔归本合元神')]
>>>

上述4个案例的前2个案例,在第一次匹配存在group(1)的情况下,findall中返回的第一个元素为group(1)的匹配子串,而group(0)的数据没有在findall中返回,而3个案例的第2次匹配以及第3个案例的第1次匹配都只有group(0),此时findall返回的就是group(0)的整体搜索串,第4个案例返回的是group(1,2,3)。

从这几个案例的情况来看,findall在匹配后,如果匹配的子串只有一个组,则返回组0,否则返回组0后面的组,而组0不再返回。

老猿Python,跟老猿学Python!
博客地址:https://blog.youkuaiyun.com/LaoYuanPython

请大家多多支持,点赞、评论和加关注!谢谢!

手把手教你解决Windows 10网络驱动器无法访问问题(附详细排查步骤) 本文详细指导Windows 10用户解决网络驱动器无法访问的常见问题。通过从现象快速定位到系统排查,提供了从检查网络连通性、修复凭据权限到调整高级设置的完整步骤,特别是针对“找不到网络路径”等错误,帮助用户高效恢复对共享资源的访问。 阅读详情

相关推荐

Ubuntu无桥接模式或连不上网(详细解决方法

目录 问题1:Ubuntu没有未桥接的主机网络适配器 解决方法 1.打开VMware安装目录下的文件 ​编辑2.右键安装以上三个文件 3.打开网络状态属性,找到VMware bridgeProtocol,点击安装 问题2.Ubuntu桥接模式连不上网 1.win+r打开cmd终端,输入ipconfig /all 2.记录以下数据 3.打开VMware网络设置 问题1:Ubuntu没有未桥接的主机网络适配器 VMWare安装之后,虚拟网络一直使用默认配置 VMnet0为...

m0_65592409的博客 6062

re.findall()用法详解

re.findall():函数返回包含所有匹配项的列表。返回string中所有与pattern相匹配的全部字串,返回形式为数组。 示例代码1:【打印所有的匹配项】 import re s = "Long live the people's Republic of China" ret = re.findall('h', s) print(ret) 运行结果: 示例代码2:【如果未找到匹配项,返回空列表】 import re s = "Long live the people'.

IT之一小佬的博客 9万+

ESP32天线阵列实现Wi-Fi空间成像与无直视定位

Wi-Fi信道状态信息(CSI)是OFDM系统中表征多径传播特性的基础物理层参数,其复数值包含幅度与相位,可反映无线环境的空间特征。基于CSI的射频感知技术,通过提取子载波级信道响应,结合阵列信号处理,实现到达角(AoA)估计与深度映射,本质是将通信链路重构为空间域传感器。该技术无需专用雷达硬件,具备低成本、被动式、隐私友好等工程优势,在室内定位、行为识别、仓储导航等场景具有广泛落地价值。本文聚焦ESP32平台,详解多芯片相位同步、CSI零拷贝采集、嵌入式MUSIC算法及信道图谱轻量化部署等关键实现。

weixin_30632267的博客 236

Python re.findall中正则表达式(.*?)和参数re.S使用

目录 一、re.findall函数介绍 二、代码如下 三、re.findall中正则表达式(.*?) 四、re.findall中参数re.S的意义 一、re.findall函数介绍 它在re.py中有定义: def findall(pattern, string, flags=0): """Return a list of all non-overlapping match...

黄笳倞的博客 6万+

从理论到实践:笛卡尔空间阻抗控制的实现挑战与变体解析

本文深入探讨了笛卡尔空间阻抗控制的核心原理、工程实现中的五大挑战及经典变体实战解析。通过详细的数学建模和实际案例分析,揭示了阻抗控制在工业机器人、医疗设备等领域的应用价值,特别是在力感知精度、动力学模型校准和实时计算等方面的关键技术突破。

weixin_30952535的博客 448

【SAP报错】BK128&K5112

在ECC中使用CO1F进行Progressive confirmation时,依次遇到了如下的报错。

weixin_45228526的博客 783

Python 正则表达re模块之findall()详解

目录 一、re.findall函数介绍 它在re.py中有定义: def findall(pattern, string, flags=0): """Return a list of all non-overlapping matches in the string. If one or more capturing groups are present in the pattern, return a list of groups; this will be a list of tuples if

WUNEAL的博客 1万+

OpenClaw Docker 安装问题解决全记录

控制面板无法加载(WebSocket 错误) | 确认 Nginx 配置中的 `Upgrade` 和 `Connection` 头正确 || 网关容器无法启动 | `docker compose logs openclaw-gateway`,检查权限、镜像名 |如需消除,使用 Let's Encrypt |- `<your-token>`:你的 OpenClaw 网关令牌(如 `b0e5ab...`)将 `<nas-ip>` 替换为你的群晖内网 IP(例如 `192.168.1.100`)。

u014490376的博客 2308

python正则表达式学习 findall

import re text = 'to to to how are you a to to' result = re.findall('to', text) print(result) 正则表达式中的findall语句,可以找到字符串中所有的需要找到的内容,并且将它打印出来。 import re text = 'to to too how are you a to to gongsun...

人生苦短,我用python 599

手把手教你完成基于cnn的手写数字识别系统MATLAB语言

手写数字识别是经典的 CNN 分类应用之一,常用的数据集就是 MNIST 手写数字数据集,包含 0~9 这 10 个数字的手写图片,每个数字都由 6 万幅训练图像和 1 万幅测试图像构成。为了便于直观分析,这里选择 MATLAB 工具箱提供的 DigitDataset 进行训练识别,读者也可以直接利用 MNIST 数据集或者自己设计的数据集进行实验。其中,数据集文件夹 db 如图 所示。在数据集文件夹 db 里面对每个数字都建立了子文件夹,各自包含 1000 幅 28×28 大小的二维灰度图像。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1368

智能绿植管家:基于 ESP32 的室内植物自动补光与环境调控系统

本文设计的基于 ESP32 的室内植物自动补光与生长环境调控系统,实现了植物生长环境的自动化、智能化管理。硬件选型合理、接线简单,软件逻辑清晰、易于调试,能够有效解决室内植物生长环境不适的问题。系统具备良好的实用性和扩展性,可为园艺爱好者和小型培育场所提供稳定、高效的植物养护方案。

weixin_42300449的博客 146

Python爬虫常用正则re.findall的使用

re.findall正则符说明: 单字符表达 . : 除换行以外所有字符 [] :[aoe] [a-w] 匹配集合中任意一个字符 \d :数字 [0-9] \D : 非数字 \w :数字、字母、下划线、中文 \W : 非\w \s :所有的空白字符包,括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v] \S : 非空白 数量修饰 * : 任意多次 >=0 + : 至少1次 >=1 ? : 可有可无 0次或者1次 {m} :固定m次 hello{3,} {m,}

icanflying的博客 1万+

【EPS精品教程】EPS2016三维测图版安装教程(附EPS2016安装包下载地址)

EPS地理信息工作站是北京清华山维新技术开发有限公司历经十五年精心研发和打造,为满足“以地理信息服务为中心”的信息化测绘生产需求而推出的测绘生产活动多种业务模块集成化软件系统。主要功能有:(1)测绘与地理信息多业务模块集成管理;(2)多元多尺度多种类数据集成管理;(3)跨平台异构数据转换;(4)数据监理;(5)自动缩编与综合;(6)坐标转换与动态投影;(7)地理信息模板定制;(8)GIS地理信息描述与CAD图形表达一体化支持;(9)GIS数据库更新维护;(10)图形打印与地图出版。 一、安装过程 EP..

智慧空间实验室 2万+

python 正则findall右斜杠_Python正则表达式re.findall一个有趣的现象

下面通过几个案例来分析一下,注意:本节的parsematch函数请参考《妙用re.sub分析正则表达式解析匹配过程》案例一:>>> re.findall(r".* .* (.*)",'第二回 悟彻菩提真妙理 断魔归本合元神')['断魔归本合元神']>>> parsematch(r".* .* (.*)",'第二回 悟彻菩提真妙理 断魔归本合元神')第1次匹配,匹...

weixin_39604897的博客 238

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

pythonfindall正则_Python正则表达式re.findall一个有趣的现象

下面通过几个案例来分析一下,注意:本节的parsematch函数请参考《妙用re.sub分析正则表达式解析匹配过程》案例一:>>> re.findall(r".* .* (.*)",'第二回 悟彻菩提真妙理 断魔归本合元神')['断魔归本合元神']>>> parsematch(r".* .* (.*)",'第二回 悟彻菩提真妙理 断魔归本合元神')第1次匹配,匹...

weixin_39769228的博客 134

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

python正则表达式re.findall_Python正则表达式re.findall一个有趣的现象

下面通过几个案例来分析一下,注意:本节的parsematch函数请参考《妙用re.sub分析正则表达式解析匹配过程》案例一:>>> re.findall(r".* .* (.*)",'第二回 悟彻菩提真妙理 断魔归本合元神')['断魔归本合元神']>>> parsematch(r".* .* (.*)",'第二回 悟彻菩提真妙理 断魔归本合元神')第1次匹配,匹...

weixin_42299427的博客 199

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Python正则表达式re.findall("[A-Za-z]([A-Za-z0-9])*[.]txt",'Abc2019.txt')的结果为什么是['9']

在《Python妙用re.sub分析正则表达式匹配过程》中老猿分析了findall函数的返回情况,老猿前一阵子在执行这个语句时: >>> re.findall("[A-Za-z]([A-Za-z0-9])*[.]txt",'Abc2019.txt') ['9'] >>> 没有弄明白为什么是这个结果,我们使用《Python妙用re.sub分析正则表达式匹配过程》...

老猿Python 5120

Python正则表达式re模块学习遇到的问题

Python正则表达式处理的组是什么?

老猿Python 1673

python正则表达式re模块之findall函数

它返回string中所有与pattern匹配的全部字符串,返回形式为列表,如果pattern中含有分组,返回分组的匹配结果。如果有pattern中有多个分组,则返回元组列表。importrekk=re.compile(r'\d+')kk.findall('one1two2three3four4')#[1,2,3,4]#注意此处findall()的用法,可传两个参数;......

Lavi的专栏 1万+

Python re.findall() 函数正则表达式(一)

@R星校长 第1关:正则表达式基础知识 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,来筛选出符合这个规则的内容。 可以简单理解为:一个强大的搜索工具中,正则表达式就是你要搜索内容的条件表达式。 为了完成本关任务,你需要掌握:1.正则模块函数re.findall(),2.各种正则表达式元字符的含义。 以下实例均可在命令行窗口中练习。 re.findall()函数 作用:遍历整个字符串,可以获取其中所有匹配的字符串,返回一个列表。 一般.

qq_44745905的博客 1万+

re模块findall函数用法

title: Python subtitle: 1.re模块findall函数用法 date: 2018-12-13 10:17:28 --- Python re 模块 findall 函数用法简述 本文档介绍了正则表达式元字符 和 re模块 findall 函数用法。 正则表达式元字符 给予正则表达式强大的功能和灵活性。 表 示 法 描述 正则表达式示例 符号 liter...

weixin_30249203的博客 5059

正则表达式中re.match、re.search、re.findall的用法和区别

正则表达式中re.match、re.search、re.findall的用法和区别 re.match 用法 re.match语法:re.match(pattern,string,flags=0) pattern:表示正则表达式 string:要匹配的字符 flags:控制匹配的方式 **re.match匹配方式:**从字符起始位置匹配,若起始位置匹配不成功返回none。即只匹配起始位置 impor...

weixin_39383896的博客 8850

Python3 re.findall()方法 及 re.compile()

re.findall()在字符串中找到正则表达式所匹配的所有子串,并返回一个列表;如果没有找到匹配的,则返回空列表。 返回结果是列表类型,需要遍历一下才能依次获取每组内容。 findall(patern, string, flags=0) pattern : 正则中的模式字符串。 string : 要被查找替换的原始字符串。 flags : 标志位,用于控制正则表达式的匹配方式,如:是...

Rustone的博客 2万+

python findall函数用法_Python--re模块的findall等用法

1)正则表达式含义. # 点可代表一切字符\ # 起转义作用[...] # 指代方括号中的任意字符\d # 指代数字0-9\D # 指代非数字\s # 指代一切空格,包括tab制表符、空格、换行等\S # 指代非空格\w # 指代大小写字母、数字和下划线\W # 指代非大小写字母、数字和下划线* # 匹配前面字符 >=0 次+ # 匹配前面字符1次及以上? # 匹配前面字符0次或1次{m} ...

weixin_39524439的博客 8344

python正则findall函数的用法_python中正则表达式 re.findall 用法

python中正则表达式 re.findall 用法Python 正则表达式正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。re 模块使 Python 语言拥有全部的正则表达式功能。compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象。该对象拥有一系列方法...

weixin_39841572的博客 3868

python findall用法_Python 正则表达re模块之findall()详解

目录一、re.findall函数介绍二、代码如下三、re.findall中正则表达式(.*?)四、re.findall中参数re.S的意义一、re.findall函数介绍它在re.py中有定义:def findall(pattern, string, flags=0):"""Return a list of all non-overlapping matches in the string.If ...

weixin_39688019的博客 5214
上一篇: Python妙用re.sub分析正则表达式匹配过程
下一篇: Python中使用“模块名.__all__”查看模块建议导出的属性
LaoYuanPython
LaoYuanPython 2020年博客之星Top3 2020年博客之星Top3 领域专家: Python技术领域 领域专家: Python技术领域
博客等级 码龄8年 15万+粉丝 1324原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LaoYuanPython

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值