提问者:小点点

Pyton正则表达式-试图找到所有以连字符开头的句子,并将这些句子放在列表中


我有一个文本文件,我想解析并将问题和选项放入一个问题和选项列表中

示例:

-26岁男性常规筛查Hbsag+VE,hbeag+VE.接下来是什么;IM
A.观察
B.HBV DNA研究
C.干扰素
D.肝活检
-创伤-皮肤红斑和局部皮肤丢失,TTT:手术
A.水冲洗\
B.重碳水化合物。 冲洗
C.外科清创

我是python新手,尤其是正则表达式新手。 试图找到正则表达式,该表达式将查找以'-'开头的句子,并且当新行有'A'时。 ,在“A”前面切一段。 然后把问题列在清单上。

也是一个正则表达式,用于将选项提取到列表中。 所以最终结果是:

问题列表=['-26岁男性常规筛查Hbsag+VE,hbeag+VE.。接下来是什么;IM‘,’-创伤–皮肤红斑和局部皮肤丢失,TTT:外科手术']]

选项列表=[[“A.观察”,“B.HBV DNA研究”,“C.干扰素”,“D.肝活检”],["A.H2o冲洗“,”B.Bicarb.冲洗“,”C.外科清创“]

我猜这会有点复杂,但是对正则表达式部分的任何帮助,甚至是一个开始都是很好的。 我有一个文本文件与1000这样的问题和选项重复那样,理想情况下,想要提取所有的问题和选项。

import re

with open("julysmalltext.txt") as file:
    content = file.read()
    question_list = re.findall(r'', content)
    options_list = re.findall(r'', content)

共1个答案

匿名用户

import re

with open("data.txt") as file:
    content = file.read()
    question_list = re.findall(r'-.*', content)
    options_list = re.findall(r'[ABCD]\..*', content)

print(question_list)
print(options_list)

输出:

['- 26 yrs Man Hbsag +ve ,hbeag +ve on routine screening ..what is next ;IM', '- Trauma è skin erythema and Partiel skin loss ,ttt: surgery']
['A. observe', 'B. HBV DNA study', 'C. Interferon', 'D. take liver biopsy', 'A. H2o irrigation', 'B. Bicarb. Irrigation', 'C. Surgical debridment']