如何在python中使用正则表达式提取这个句子?

如何在python中使用正则表达式提取这个句子?,python,regex,nlp,Python,Regex,Nlp,我试图从研究文章中提取有引用的句子。除了那句之外,我已经设法把所有的句子都提取出来了 “相关性(针对正在经历学习过程的个体)在Hidi和Renninger的模型(2006年)中作为触发因素出现,可以是Priniski等人的连续统中的任何类型的相关性。” (r'\w.+\(\d{4}\)+\.*,regex=True)是我使用的模式。我不知道括号内的字是否要处理 文章中的示例段落: n\n \n成人教育的非工作相关性:一个案例研究叙述\n\n同一Vold1,2,Hanne Haave2和Arist

我试图从研究文章中提取有引用的句子。除了那句之外,我已经设法把所有的句子都提取出来了

“相关性(针对正在经历学习过程的个体)在Hidi和Renninger的模型(2006年)中作为触发因素出现,可以是Priniski等人的连续统中的任何类型的相关性。”

(r'\w.+\(\d{4}\)+\.*,regex=True)
是我使用的模式。我不知道括号内的字是否要处理

文章中的示例段落:

n\n \n成人教育的非工作相关性:一个案例研究叙述\n\n同一Vold1,2,Hanne Haave2和Aristidis Kaloudis1\n挪威,挪威。vold@ntnu.no\n一个。vold@inn.no\n安妮。haave@inn.no\nAristidis。kaloudis@ntnu.no\n DOI:10.34190/EJKM.18.02.002\n\n简而言之:人们越来越关注高等教育的相关性。主要是关于增加个人的工作机会或工作进步。然而,高等教育也可能与解决工作场所的重要问题有关。关于教育活动如何变得相关,有一些必要的先决条件\首先,学生必须能够发现一般知识和获得的技能如何适用于或不适用于工作中的具体情况。这需要经验、对组织规范和文化的理解以及某种形式的实践智慧

我已经拆分并标记了这些句子,然后将其转换为一个数据帧,我正试图使用下面的代码从中匹配并提取整个句子和引用

print(df[df['sequences'].str.contains((r'\w.+(\d{4})+.*,regex=True))是我用来从数据帧(df)中提取所有引用行/句子的代码


我已经成功地编写了不同的正则表达式模式,这些模式与我的数据帧行中的整个句子相匹配。一个与我的问题句子相匹配的正则表达式模式将帮助我解决问题。

在这种情况下,您的正则表达式将在parens中包含4位数字的任何序列后停止”(2006年),重复1次或更多次,然后可能重复0次或更多次

因此,您需要一个模式,该模式获取paren后面的其余字符,然后是一个句点模式,该句点结束句子,同时不捕获例如“et al.”中的“.”


我建议您测试正则表达式。

您的正则表达式将在括号内有4位数字的任何序列后停止,在本例中为“(2006)”,重复1次或更多次,然后可能重复0次或更多次

因此,您需要一个模式,该模式获取paren后面的其余字符,然后是一个句点模式,该句点结束句子,同时不捕获例如“et al.”中的“.”

我建议您测试正则表达式。

您可以包括所有句子,或者至少包括一些您无法匹配的句子以外的句子吗?您所说的“提取”是什么意思?正则表达式应该匹配整个句子,还是确切匹配什么?另外,请显示所有相关代码,而不仅仅是“我使用的模式”。你能包括所有的句子,或者至少包括一些你不能匹配的句子以外的句子吗?你说的“提取”是什么意思?正则表达式应该匹配整个句子,还是确切地匹配什么?另外,请显示所有相关的代码,而不仅仅是“我使用的模式”。这个“+\.*”不是吗在我的模式结束时,提取4位数字后的所有内容?只是询问!模式结束时的“+\.*”不会提取4位数字后的所有内容吗?只是询问!