zl程序教程

您现在的位置是:首页 >  后端

当前栏目

python re.findall()正则表达式抽取两个词之间的内容,re.split()批量拆分文本

Python批量正则表达式 内容 两个 之间 文本 拆分
2023-09-27 14:20:36 时间

抽取场景:批量抽取初步诊断后面的诊断内容,

text = """
确定诊断 :                            初步诊断:
1.糖尿病酮症酸中毒
2.2型糖尿病
3.左侧肾上腺占位性质待查
4。双肾结实
      医师:XXX
    2022年xx月xx日 """

代码:

import re

def PRE_DIAG_NAME(content):
    '''获取初步诊断名称'''        
    data = re.findall('初步诊断[::]([\s\S]*?)医师', content)
    if not data:
        data = re.findall('初步诊断[::]([\s\S]*?) ', content)
    pattern = re.compile('\d+[,,。.、;; ]|\s')
    if data:
        data_list = pattern.split(data[0])
        res_list = [i for i in data_list if i]
        if res_list:
            return res_list
    else:
        return []

text = """
确定诊断 :                            初步诊断:
1.糖尿病酮症酸中毒
2.2型糖尿病
3.左侧肾上腺占位性质待查
4。双肾结实
      医师:XXX
    2022年xx月xx日 """

res = PRE_DIAG_NAME(text)
print(res)

结果: