2014-01-17 102 views
0

我需要能够匹配文本文件中的句子的正则表达式。我的意思是一个以大写字母开头并以句点结尾的字符串。到目前为止,我想出了这个:正则表达式匹配句子

[A-Z]+[A-Za-z0-9_,"#;.() \t]+[.]$ 

这是一种工作,但有一点问题。当一行中的句子很少时,将它们总结为一。任何提示如何解决它?

+1

用'+?'替换'+'。阅读[贪婪和非贪婪的量词](http://www.regular-expressions.info/repeat.html)。 – Tomalak

+0

这和摆脱$帮助,thx! – Loki

回答

1

你可以试试这个正则表达式

[A-Z]{1}[^.]*. 
+0

单个'。'匹配任何字符,你需要引用它。 – stark

+0

在这种情况下,虽然我不认为他会这样做,因为它只会是一个句号,就像之前它是一种匹配任何不是完全匹配的模式。 – Srb1313711

+1

固定版本:'[A-Z] [^ \。] * \。' –

0

我将扩大这[A-Z][\s\S]+?[.?!]+。 “小心!!”是我书中的一个句子。还允许在它们之间带有空格的句子。