我似乎無法理解如何做到這一點。我試圖想出一個正則表達式(對於.NET來說,如果它有所作爲),它可以從包含帶句點的縮寫的文本塊中提取句子。基本上,我想從一個特定的開始詞開始,不要停在定義的縮寫列表上,並在結束時間結束。使用特定縮寫提取語句的正則表達式
一對夫婦的例子可能是:
Blah blah blah. Died of disease at Annapolis Junction, Md., February 2, 1862. Blah blah blah.
將捕獲「在安納波利斯樞紐站,馬里蘭州,1862年2月2日,死於疾病。」 或
Blah blah blah. Died in General Hospital, Washington, D. C., September 17, 1862, of wounds received in action at Bull Run, Va., August 30, 1862. Blah Blah Blah.
將捕捉「死在綜合醫院,華盛頓,D. C.,1862年9月17日,在公牛奔跑,弗吉尼亞州,1862年8月30日,在操作中收到的傷口」
使用的
Died [^\.]*\.
當然
簡單表達式僅匹配到第一期:「在安納波利斯樞紐,馬里蘭州死於疾病。」
需要傳遞的列表縮寫將來自受控詞彙表,因此正則表達式不需要考慮所有可能的縮寫詞,而只需列出列表中的縮寫詞。即:Md。| D. C. |弗吉尼亞州|。密歇根州。
我知道下面是不行的,但它應該給的什麼,我試圖完成一個粗略的想法:
Died [^(Md\.|D\. C\.|Va\.|Mich\.)]*\.
任何幫助,不勝感激!
-Matt
是一個示例始終爲您呈現,其中所希望的句子是在中間?如果是這樣,你可以刪除外部句子。 – Origin 2012-01-03 05:28:29
句子可能出現在文本塊的任何地方,並可能以任意數量的特定單詞開頭。 – Matt 2012-01-03 06:38:13