【发布时间】:2018-04-28 20:39:23
【问题描述】:
我正在使用正则表达式 python 模块从法律文件中查找所有关键短语。其中之一低于 5 U.S.C. § 8452(a) 但它只打印并找到句子并在第一个句点处停止;所以不是我的输出读数:
委员会根据 5 U.S.C. 对此上诉拥有管辖权。 § 8452(a)
,它读作
委员会根据 5 U 对此上诉拥有管辖权。
相反。这是我的代码
ruling_corpora = map(lambda x: x[0], re.findall('([^.]*?(I find|In sum|agree|affirm|disagree|I conclude|In light of| under| this appeal| The ALJ| I determine| we| based on| for the reasons| pursuant to| the decision is| jurisidiction|section|§+\d |conclude)[^.]*\.)', tokenized, re.I | re.DOTALL | re.M))
reduce = 0
for r in ruling_corpora:#*
reduce -=5
big_list=[]
big_list.extend(ruling_corpora)
rc_list=[]
rc_list.append(set(r))
big_string= "".join(str(x)for x in big_list)
if len(big_string.split('.'))<= 3:
while len(big_string.split())<=200:
print("Ruling Content: {} \n".format(big_string))
break
break
else:
summary=summarize(big_string,word_count=250+reduce)
print("Summarized Ruling: {}\n".format(summary))
break
break
【问题讨论】:
-
您的正则表达式是这样编写的,它在一个点处停止匹配。显然,这不是您希望它停止的地方。那么您希望它在哪里 停止?
-
我希望它匹配到句子的结尾。然而,在某些句子中有多个点,例如委员会根据 5 U.S.C. 对此上诉具有管辖权。 § 8452(a)。我想使用关键字“under”来捕捉整个句子。我该怎么做?