Python怎么使用正则表达式实现查找功能
发表于:2025-02-24 作者:千家信息网编辑
千家信息网最后更新 2025年02月24日,这篇文章主要介绍"Python怎么使用正则表达式实现查找功能",在日常操作中,相信很多人在Python怎么使用正则表达式实现查找功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对
千家信息网最后更新 2025年02月24日Python怎么使用正则表达式实现查找功能
这篇文章主要介绍"Python怎么使用正则表达式实现查找功能",在日常操作中,相信很多人在Python怎么使用正则表达式实现查找功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Python怎么使用正则表达式实现查找功能"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
题目如下:
编写一个程序,打开文件夹中所有的.txt文件,查找匹配用户提供的正则表达式的所有行。结果应该打印到屏幕上。
思路如下:
程序需要做的事情如下:
遍历文件夹得到所有.txt文件名
打开所有.txt文件,正则表达式进行模式匹配
查找结果显示到屏幕代码需要做的事情如下:
导入re,os模块
定义正则表达式函数
函数内进行正则表达式匹配,并返回匹配所在行列表
for调用os.listdir(path),生成.txt文件名列表
for循环打开所有.txt文件
用户输入需要查找的字符串
for循环遍历函数返回结果
输出结果到屏幕
代码如下:
import os, redef fileRex(inputStr,txtLines): txtRex = re.compile(r'{0}'.format(inputStr)) #正则表达式对象 blockList = [] i = 0 for t in txtLines: try: mo1 = txtRex.search(t) mo1.group() #search()方法匹配成功生成match对象,group()返回匹配到的对象,匹配成功即表示这一行为需要查找结果,添加到列表 i += 1 #计数 blockList.append(t) except: continue #search()方法未匹配成功会报错,程序崩溃,因此需要except加上continue,进入下一次循环 print("匹配到的模式个数:",i) return blockListnameList = [] #创建文件名列表file = input("请输入文件夹绝对路径(如:C:\\Users\\Administrator\\Desktop\\exam):") #\\转义字符相当于 \for fileName in os.listdir(file): #os.listdir()方法遍历文件夹 p = 0 if fileName.endswith('.txt'): #enswith方法,判断字符串结尾,检查文件名后缀是不是.txt文本文件 nameList.append(fileName) #添加到文件名列表 p += 1 else: continueprint("找到的文本文件个数: {0} !文件有:{1}".format(p,nameList))txtLines = [] #创建存放文本行的列表for i in nameList: txtFile = open('{0}\\{1}'.format(file,i)) #open函数创建file对象 txtLines += txtFile.readlines() #readlines返回列表,+ 号连接返回的列表print("文本文件行列表:\n",txtLines) #输出文本行列表inputStr = input("请输入要查找的字符串:")for k in fileRex(inputStr,txtLines): #调用函数,循环遍历返回的列表 k = k.strip('\n') #去掉列表字符串中的空格 print("含有字符 "{0}" 的文本行有:{1}".format(inputStr,k)) #输出查找结果
输出结果如下:
到此,关于"Python怎么使用正则表达式实现查找功能"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
文件
正则
表达式
结果
字符
函数
文件名
方法
功能
字符串
对象
文件夹
文本
学习
循环
输出
成功
屏幕
程序
输入
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
db2连接数据库前查看数据库名
公安机关网络安全管理处罚
天龙八部就一个服务器
大话数据库运维
山东济南市浪潮存储服务器供货商
sqllite选择数据库
优径上海软件开发有限公司
腾讯云服务器怎么登录实例
朱家角民宿软件开发
超微服务器主板 电源 要求高
数据库多表联合查询和分组查询
中搜网络技术公司
袋鼠好车互联网科技有限公司
计算机网络技术专业学业
数据库的分类及区别是什么
试述数据库技术面临的挑战
软件开发工艺流程
互联网科技感色彩设计
网络安全评估分类最高
数据库安全属于什么安全
网上订票系统数据库
网络安全识竞赛
达州软件开发优缺点
socks代理服务器地址 湖南
时间表软件开发
系统服务器数据库运维
第七届首都网络安全日手抄报
中山市掌柜网络技术有限公司
程序员删数据库最高几年
微信投票cms软件开发