目标写出正则表达式分开大量病例

总体思路

1.首先确定相对路径
1.1 读文件
2.然后写字符串正则表达式匹配初步诊断
2.2首先根据每行数据观察是否含有初步诊断,假如没有则遍历下一行,若是存在在则模糊查询肿瘤是否需存在,若是存在则记录下标,若是不存在则继续向后查询,若是匹配到诊断依据和鉴别诊断则直接跳出查找下一个文本
3.利用模糊正则匹配匹配初步诊断中的肿瘤的查询
4.记录保存相关文档序号
5.将记录的相关文档转移到另一个文件夹
代码

# -*- coding:utf-8 -*-
import re
import os,shutil

#确定相对地址
path1 = r'zhong/'
path2 = r'feizhong/'
filelist = path1

#数组保存相应文本下标
new_line = []
#在相应的文件夹下读取文件
path = path1
file_path=[]
for filename in os.listdir(path):
	file_path.append((os.path.join(filename)))
print("全部文件")
print (file_path)


#首先匹配初步诊断
#匹配肿瘤等词的模糊查询
#匹配诊断依据和鉴别诊断节省时间跳出匹配
def zhengze(f):
	#正则规则
	regex_start = '初步诊断'

	regex_end = '诊断依据和鉴别诊断'
	
	regex_zhong ='肺恶性肿瘤' 
	new_x = f
	#以数组的形式传出,而不是以字符串的形式
	pat = re.compile(regex_start+ '(.*?)' +regex_end, re.S)
	match_obj=pat.findall(new_x)
	str1 = ','.join(match_obj)

	match_judje = re.search(regex_zhong,str1)
	if match_judje:
		return True
	else:
		return False
"""
>>>s=r’/* comment 1 */ code /* comment 2 */’
>>> re.findall( r’(?<=//*).+?(?=/*/)’ , s )
[' comment 1 ', ' comment 2 ']
"""
	

#对每个文本调用数进行晒选,筛选过后的数据记录文本信息
for adress in os.listdir(path):
	address = path1+adress
	file_object = open(address,"r")
	#文本中的内容以数组的形式(每行为一个)
	lines = file_object.read()
	if(zhengze(lines)):
		new_line.append(address)
	else:
		continue
	file_object.close()



#满足要求的文件
print("满足文本")
print(new_line) 


#转移符合要求的文本
for files in os.listdir(path):
	ff = path1 +files 
	if ff in new_line:
		print("正在转移")
		print(files)
		full_path = os.path.join(path1, files)
		despath = path2 #.jpg为你的文件类型,即后缀名,读者自行修改
		shutil.copy(full_path, despath)
	else:
		continue
print("完成功能")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值