2014-01-17 133 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]+?[.?!]+。 「小心!!」是我書中的一個句子。還允許在它們之間帶有空格的句子。