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

【python科研数据处理】将Endnote自动搜索的所有pdf文件,全都移动指定文件夹中 将Endnote自动搜索到的全部pdf文件,全都移动指定文件夹中1 背景2 问题解决 手动反爬虫,禁止转载:原博地址 https://blog.csdn.net/lys_828/article/details/122370892(优快云博主:Be_melting) 知识梳理不易,请尊重劳动成果,文章仅发布在优快云网站上,在其他网站看到该博文均属于未经作者授权的恶意爬取信息 1 背景 在进行期末考试周后,面对最后一门功课,需要提交至少80篇SCI参考文献,因此最快下载文献的方式就是通过Web of S 阅读详情

在《Python妙用re.sub分析正则表达式匹配过程》中老猿分析了findall函数的返回情况,老猿前一阵子在执行这个语句时:

>>> re.findall("[A-Za-z]([A-Za-z0-9])*[.]txt",'Abc2019.txt')
['9']
>>>

没有弄明白为什么是这个结果,我们使用《Python妙用re.sub分析正则表达式匹配过程》介绍的方法parsematch来分析一下:

>>> parsematch("[A-Za-z]([A-Za-z0-9])*[.]txt",'Abc2019.txt')
第1次匹配,匹配情况:
    匹配子串group(0): Abc2019.txt,位置为:(0, 11)
    匹配子串group(1): 9,位置为:(6, 7)
>>>

结合《Python正则表达式re.findall一个有趣的现象》我们知道这个返回确实是符合《Python正则表达式re.findall一个有趣的现象》的分析的。
但为什么group(1)是“9”呢?这是因为重复匹配的描述符“*”是对组“([A-Za-z0-9])”的限定,由于“*”是贪婪的,因此组匹配到一个字符后会继续往下匹配,直到遇到小数点之前才终止,因此group(1)最终的匹配结果是‘9’。

贪婪模式和非贪婪模式的匹配处理过程请参考《Python正则表达式\W+和\W*匹配过程的深入分析》的相关分析。

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

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

VSCode 搭建C/C++编程环境 2025新版图文安装教程(VSCode安装 + C/C++环境搭建 + 运行测试 + 背景图设置) 100%搭建成功,VSCode 搭建C++编程环境 2025新版图文安装教程(VSCode安装+C++环境搭建+运行测试+背景图设置) 阅读详情

相关推荐

ali140滑块

ali 140滑块采用补环境的方式进行逆向,需要的文件主要为这两个,其中collina.js是最主要的环境校验和参数加密的逻辑,这两个文件放本地进行补环境。然后挂上代理,先保证能够正常运行代码,补了些许后能够正常运行了,我们打印最主要的加密函数看看:n值就是得到:挂上代理看看鼠标事件,不管加密逻辑,关心入参即可:收集一些鼠标事件传进记录的函数。其余就是处理一些环境值,一些resetSA的逻辑就行。截图记录:

bboysteed的博客 1677

Python—re正则表达式

re正则表达式

业精于勤,荒于嬉;行成于思,毁于随 3530

数学建模:相关性分析学习——皮尔逊(pearson)相关系数与斯皮尔曼(spearman)相关系数

相关性分析:求解相关系数并绘制热力图进行对比

weixin_67565775的博客 8万+

学习笔记 -- Python爬虫 - requests模块(通用爬虫)

#内容为视频笔记及个人理解,若有错误还望各位大佬指正 requests模块 python中原生的一款基于网络请求的模块, 能够模拟浏览器发出请求。   指定 URL 发出请求 获取响应数据 持久化存储 import requests url = "https://www.sogou.com" # 指定URl response = requests.get(url=url) # 发出请求 并接收 get 所返回的响应对象 page_text = response.text .

Leer_weini的博客 397

双目相机标定理论与编程实现

双目相机标定是计算机视觉中的重要任务,通过确定双目相机的内参和外参,可以实现立体视觉的深度感知和三维重建。通过使用OpenCV库提供的函数,我们可以方便地进行双目相机的标定工作。双目相机标定是计算机视觉中的重要任务,用于确定双目相机的内参和外参,以实现立体视觉的深度感知和三维重建。通过上述代码,我们可以获得左右相机的内参矩阵、畸变系数、旋转矩阵和平移矩阵等参数,从而完成双目相机的标定过程。使用双目相机采集一系列左右相机的图像,确保标定板在不同位置和角度下都能被双目相机拍摄到。函数来检测标定板的角点。

ByteKnight的博客 324

vmvare kali如何配置桥接模式进行上网

注意点:虚拟机可以PING通物理机,但是PING不通其他的网站。经过收集资料,得知由于是校园网连接,所以DHCP只能分配一个授权的IP地址给连接的主机,由于KALI是桥接物理机,物理机已经获得了这个授权的IP,所以导致桥接的虚拟机无法上网。所以不是因为配置的有问题,而是网络的安全设置导致了桥接失败。如果你是使用校园网,可以换个网络试试,使用校园网的时候,可能会遇到桥接失败。

猿小白的博客 1409

正则^ [A-Za-z_][A-Za-z_0-9]*&integer类型——学JAVA前一定要搞懂的最基本的东西(2)

刚开始写代码可能会对有些东西很陌生,不懂他们的含义,所以需要练习后复习下他们的意思。 一、int n = Integer.parseInt(sc.nextLine()); **1.**Integer.parseInt()是把()里的内容转换成整数(将String字符类型数据转换为Integer整型数据)。 **2.**integer 整数 / 整型数。与小数 / 浮点数相对,是编程语言的基本数据类型之一,用以指示变量的数据类型,有时也用于常量(变量、表达式)的强制数据类型转换。 二、if(s.matches

m0_46365534的博客 2671

万字长文,YOLOv8 yaml 文件解析 | 一文搞定 YOLOv8 分类任务,检测任务,分割任务,关键点任务

YOLOv8 yaml 文件解析 | 一文搞定 YOLOv8 分类任务,检测任务,分割任务,关键点任务

Coding... 1万+

python里的正则表达式

匹配字符 import re s = 'adawdafA@#!#@!1231cad' print(re.findall('[a-z]',s)) # 匹配小写英文字母 print(re.findall('[0-9]',s)) # 匹配数字 print(re.findall('[A-Z]',s)) # 匹配大写英文字母 print(re.findall('[a-zA-Z0-9]',s)) # 匹配英文字母加数字 print(re.findall('[^a-zA-Z0-9]',s)) # 匹配(过滤(英

azlxxx的博客 1335

Qt视频播放器项目(打开文件,视频的播放与停止,进度条与视频进度绑定,调整音量,设置按钮图标,将槽函数与按钮绑定等功能)完整代码地址在末尾

【代码】Qt视频播放器项目。

分享计算机视觉,C++,网络摄像头研发,音视频开发,嵌入式等知识。 755

com.sap.aii.af.service.cpa.CPAObjectNotFoundException: Couldn‘t retrieve inbound binding

错误消息:错误截图:该错误通常表示在集成配置中,未找到与特定消息匹配的入站绑定(Inbound Binding)。具体而言,错误消息中的 P/S/A(Party/Service/Action)值未在配置中找到对应的入站绑定。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 373

《Python爬虫大数据采集与挖掘》期末考试考题汇总带答案

一、填空题 1、爬虫技术的应用可以分为两大类:采集型爬虫、监测型爬虫。 2、根据 Web 页面组成结构中的信息内容的生成方式不同,可以将 Web 页面分为静态页面、动态页面、以及伪静态页面三大类。 3、Robots 协议为了给 Web 网站提供灵活的控制方式来决定页面是否能够被爬虫采集。 4、在浏览器中打开网站后,在网站首页的地址后面添加“/robots.txt”,如果网站设置了访问许可,按回车就可以看到网站的 robots 协议,即 robots.txt 文件内容。 5、Web 信..

闭关修炼——暂退 2万+

AI工具 | 每个打工人必备的15款人工智能超级工具

不过,还是有一些靠谱的人工智能平台,它们可不只是营销噱头。有些AI公司正试图改变游戏规则。人工智能工具让人们能够更聪明地工作,而不是更辛苦地劳作。如果你想知道未来有什么,那就来看看这10款人工智能工具吧,它们将彻底改变我们的工作方式。

Vampire_2017的博客 5万+

正则表达式 '^[a-zA-Z0-9''-'\s]{1,30}$' 代表什么意思?

正则表达式 '^[a-zA-Z0-9''-'\s]{1,30}$' 代表什么意思? [A-z] 等于 [a-zA-Z] 表示匹配所有大小写字母0-9 表示数字"-' 都是表示本义字符,匹配这三个符号.\s 匹配非换行的所有空白字符以上全部在[]中代表匹配以上所有内容.然后{1,30}代表匹配1次到30次,最少1次.头尾的^和$代表匹配一个完整的字符串,如果这个字符串中出现任何一个不是[]中内容的字...

LookLook 3万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

正则表达式的基本用法

基本语法 [a-z]匹配小写的a-z [A-Z]匹配大写的A-Z [0-9]匹配0-9 [a-zA-Z0-9]组合起来,匹配大小写的a-z或者0-9,基本上可以包括所有英文和数字的字符串了 *设置 * 前面的匹配组可以出现0-n次, ?设置 ? 前面的匹配组可以出现0-1次,可有可无 {1}设置{1}前面的匹配组必须出现1次 {1,}设置{1,}前面的匹配组可以1-n次 {1,2}设置{1,3}前面的匹配组可以出现1-3次 () 小括号是把某一块分成一个组 |判断或者,比如(aa|bb),则匹配aa或者b

小星博博的博客 2852

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

正则表达式漫谈

正则表达式漫谈 一个引子: 请教一个正则表达式怎么写, 只能是 a-z、A-Z、0-9、_、-、. 其中_ - . 不能出现在首尾 .最多只能出现一次 这是今天群里的一个老哥提的一个需求,白天的时候没写好,晚上的时候再请教了些大佬的意见,列出下面的三种实现方式 方式1 ^[A-Za-z0-9]{1}[A-Za-z0-9_-]*?\\.?[A-Za-z0-9_-]*?[A-Za-z0-9]{1}$ 这个做法大体是将首尾先固定: ^[A-Za-z0-9]{1}开头位置出现的字符只能是a-z、A-Z、0-9不

wat1r的博客 2091

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

正则表达式(二)(python) ——21天养成好习惯

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基

qq_52037321的博客 599

第一次接触正则表达式/^[A-Za-z_][A-Za-z0-9_]{5,15}$/

/^[A-Za-z_][A-Za-z0-9_]{5,15}$/ /^$/ :完整表达式 ^ :表示以什么开始,或者取反 $ :结束 ^[A-Za-z_] : 以字母开始,无论大小都可以; [^A-Za-z_] :非字母就可以; [A-Za-z0-9_] :可以是字母数、字下、划线 {5,15} :可以包含6到16个字符 .match() //匹配 例如: var us...

weixin_33862993的博客 6549

程序基础:正则表达式

正则表达式及其应用

baidu_35260565的博客 1151

爬虫常用正则表达式-Re模块极速入门

查询re更多-----help(re) ‘.’:通配符,代表任意一个字符,除\n以外,一个点一个字符 ret=re.findall('m...e',"cat and mouse") ret ['mouse'] ‘*’:重复匹配,允许*之前的一个字符重复多次 ret=re.findall('ca*t',"caaaaat and mouse") ret ['caaaaat'] ‘?’:重复匹配,但是?之前的字符只能重复0次或一次 ret1=re.findall('ca?t',"cat and mouse

はんみん的博客 467

爬虫常用正则表达式匹配规则~

邮箱 \w+[@][a-zA-Z0-9_]+(\.[a-zA-Z0-9_]+)+ <a>标签的img属性 <img[\w\W]*?src=["|']?([\w\W]*?)(jpg|png)[\w\W]*?/> <a>标签的href属性 href="(http[s]*://[\w\./]+)"

csyifanZhang的博客 756

正则表达式-密码强度

"'<>,.?/]{8,16}$/"'<>,.?/]{8,16}$//^(?![0-9]+)?!a−zA−Z)(?!@#//^(?=.[0-9])(?=.@#/

st646889325的博客 562

常用正则表达式

1、匹配中文:[\u4e00-\u9fa5] 2、英文字母:[a-zA-Z] 3、数字:[0-9] 4、匹配中文,英文字母和数字及下划线:1+$ 同时判断输入长度: [\u4e00-\u9fa5_a-zA-Z0-9_]{4,10} 5、 (?!) 不能以_开头 (?!.*?$) 不能以_结尾 [a-zA-Z0-9_\u4e00-\u9fa5]+ 至少一个汉字、数字、字母、下划线 $ 与字符串结束的地方匹配 6、只含有汉字、数字、字母、下划线,下划线位置不限: 2+$ 7、由数字、26个英文字母或者下

猿小蔡的博客 1264

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万+

正则表达式

import re s1 = "python123" s2 = "python12\n" r2 = re.findall('[a-z1-9]',s1) r1 = re.findall(u'.',s1) ## . 匹配所有的字符 print(r2) pattern = re.match("y.h",s1) ## 判断如果一个句子中英文或数字个数如果大于两个就判定为坏句子 def...

baihuang2797的博客 173

Python3爬虫系列整理(三)re正则表达式库

Python3爬虫系列整理(三)re正则表达式库 1. 匹配介绍 1.1 正则表达式介绍 在编程中,字符串是涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在。比如判断一个字符串是否是合法的Email地址,虽然可以编程提取@前后的子串,再分别判断是否是单词和域名,但这样做不但麻烦,而且代码难以复用。 正则表达式是一种用来匹配字符串的强有力的武器。它的设计思想是用一种描述性的语言来给字...

mzm5466的博客 894
上一篇: Python正则运算符优先级re.findall('(.)*',"abc")、re.findall('(.*)',"abc")、re.findall('(.?)*',"abc")的执行结果的影响分析
下一篇: 第12.1节 Python os模块导览
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、付费专栏及课程。

余额充值