簡體   English   中英

如何在 python 中使用正則表達式提取這句話?

[英]How to extract this sentence using regex in python?

我正在嘗試從研究文章中提取引用的句子。 我已經設法提取除一個之外的所有句子。

“相關性(對於正在經歷學習過程的個人)在 Hidi 和 Renninger 的 model (2006) 中作為觸發器出現,並且可以是 Priniski 等人的連續體中的任何相關類型。”

(r'\w.+\(\d{4}\)+\.*', regex = True)是我使用的模式。 我想知道是否要處理括號內的單詞。

文章中的示例段落:

n \n\n關於成人教育的工作相關性:案例研究敘述 \n\nTone Vold1,2、Hanne Haave2 和 Aristidis Kaloudis1 \n1NTNU,挪威 \n2INN,挪威 \nTone.vold@ntnu.no \nTone.vold@inn .no \nHanne.haave@inn.no \nAristidis.kaloudis@ntnu.no \nDOI: 10.34190/EJKM.18.02.002 \n \n摘要:人們越來越關注高等教育的相關性。 主要是關於增加個人的工作機會或工作\進步。 然而,高等教育的相關性也可能與解決工作場所的重要問題或問題有關。 關於教育活動如何變得相關,有一些必要的先決條件。 \n首先,學生必須能夠發現通用知識和獲得的技能如何適用於工作中的具體\n情況。 這需要經驗、對組織規范和文化的理解以及一定形式的實踐智慧。

我已經拆分並標記了句子,然后將其轉換為 dataframe,我嘗試使用以下代碼匹配並提取帶有引用的整個句子

print (df[df['sentences'].str.contains((r'\w.+(\d{4})+.*', regex = True)]) 是我用來提取所有行的代碼/引用 dataframe (df) 的句子

我設法編寫了與 dataframe 行中的整個句子匹配的不同正則表達式模式。 與我的問題句子匹配的正則表達式模式將幫助我。

您的正則表達式將在括號內有 4 位數字的任何序列之后停止,在本例中為“(2006)”,重復 1 次或更多次,然后可能的句點 0 次或更多次。

因此,您需要一個模式來獲取括號后字符的 rest,然后是結束句子的句點的模式,而不是捕獲例如“。” 在“等人的”中。

我推薦https://regex101.com/來測試正則表達式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM