2014-04-03 61 views
-1

可以说,我在TextMate的工作,我有这一段.txt文件:正则表达式找到句子

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor 
incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis 
nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. 
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu 
fugiat nulla pariatur. 

我正在寻找一个正则表达式将选择什么句子光标当前位于。

例如,如果光标放在Lorem后面,则会选择第一个句子。如果光标在实施之前放置,则将选择第二个句子,依此类推。

+0

一个主要的警告是区分句子和缩写句点。如果你有一句话“我们今天去看史密斯博士”,你把光标放在“看”了,你会希望它包括所有的东西,对吧?除非你能保证没有句子会以这种方式打破你的正则表达式。 –

+0

不可能,因为语言不正常。 – tenub

+0

假设任何时期都是句子的结尾 – luciano

回答

1

在Java中,无论如何,如果你能匹配一个句子与这个(非常有限)正则表达式(即忽略所有的先生,女士等)

[A-Z][A-Za-z ,]+\. 

Regular expression visualization

Debuggex Demo

如果您可以将搜索范围限制在光标所在的行/段中,那么当光标索引位于匹配的开始和结束索引之间时,您就知道了正确的句子。