我需要一个正则表达式来查找所有以句子结尾的句号,并忽略句子句号的中间部分,例如缩写. 注意:Iunderstand有许多other种变体,可能不可能解释所有这些变体,因此问题的焦点将是:至少下面的样例是否可以用正则表达式解决?
假设我有这样一段文字.下面的正则表达式规则查找后跟空格的任何句点匹配.但它也与PM相匹配.和美国-我如何才能忽略单词中的句号:a)由全部由句点分隔的字符组成?(如U.S.)和b)前面只有一个字符的句点(如J.). 这是在Kotlin .
val text = "下午12点51分 当地时间,J. 克纳普,前美国 Navy, went out for a walk. 是的,他说了. 然后发生了Mw6.3级地震."
val regexRule = "\\.\\s+"
val splitText = text.split(regexRule.toRegex())
val result = splitText.joinToString( separator = ".\n\n")
仅使用该规则的当前结果:
下午12点51分
当地时间,J.
克纳普,前美国
海军,出go 散步了.
是的,他说了.
然后发生了Mw6.3级地震.