我需要能够匹配文本文件中的句子的正则表达式。我的意思是一个以大写字母开头并以句点结尾的字符串。到目前为止,我想出了这个:正则表达式匹配句子
[A-Z]+[A-Za-z0-9_,"#;.() \t]+[.]$
这是一种工作,但有一点问题。当一行中的句子很少时,将它们总结为一。任何提示如何解决它?
我需要能够匹配文本文件中的句子的正则表达式。我的意思是一个以大写字母开头并以句点结尾的字符串。到目前为止,我想出了这个:正则表达式匹配句子
[A-Z]+[A-Za-z0-9_,"#;.() \t]+[.]$
这是一种工作,但有一点问题。当一行中的句子很少时,将它们总结为一。任何提示如何解决它?
你可以试试这个正则表达式
[A-Z]{1}[^.]*.
单个'。'匹配任何字符,你需要引用它。 – stark
在这种情况下,虽然我不认为他会这样做,因为它只会是一个句号,就像之前它是一种匹配任何不是完全匹配的模式。 – Srb1313711
固定版本:'[A-Z] [^ \。] * \。' –
我将扩大这[A-Z][\s\S]+?[.?!]+
。 “小心!!”是我书中的一个句子。还允许在它们之间带有空格的句子。
用'+?'替换'+'。阅读[贪婪和非贪婪的量词](http://www.regular-expressions.info/repeat.html)。 – Tomalak
这和摆脱$帮助,thx! – Loki