Python怎么使用正则表达式实现查找功能
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,这篇文章主要介绍"Python怎么使用正则表达式实现查找功能",在日常操作中,相信很多人在Python怎么使用正则表达式实现查找功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对
千家信息网最后更新 2025年01月23日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安全错误
数据库的锁怎样保障安全
怎么算把数据库学好了
hana数据库永久免费
互联网巨头被约谈发展高科技
湖南互联网科技人物
2012年重大网络安全事件
网络安全文艺视频
华为软件开发 招聘
为什么域名备案必须有服务器
数据库连接池怎么使用
国网四川省公司网络安全
软件开发od是什么意思
2019网络安全试卷
浪潮服务器加盘图解
服务器两个cpu温度差异大
网络安全知多少个人信息安全
网络安全截获属于被动攻击的是
哈尔滨市网络安全有线公司
北京软件开发人员 待遇
hs导出数据库
昆山网络技术咨询服务
阜阳餐饮软件开发哪家好
广州网络安全检查
青岛交易软件开发平台
广东网络安全和信息化会议
奶块会开新的服务器吗
航嘉服务器1U电源转换率是多少
dell服务器进管理口
有关网络技术的发展的论文
深圳mes软件开发
疫情防控信息管理系统数据库设计