匹配句子中的特定点

时间:2014-11-19 00:58:55

标签: java regex

我想在句子中添加空格(在.之后)。如果.后面没有其他.或空格,则应添加空格。

我想出了那个正则表达式:

\.(?![ \.])

只有一个问题,如果.位于字符串的末尾,则不应选中它。

示例:

这是一个测试句......这是另一句话。

应该选择:这是一个测试句。.这是另一句话。

但我的解决方案选择:

这是一个测试句。.这是另一个句子.

在正则表达式之后,所有组都将被"替换。 &#34 ;.这部分已经完成并正在运作。

3 个答案:

答案 0 :(得分:0)

ShellFish让我走上正轨,想出了这个正在运行的正则表达式:

\.(?![\.\s])

答案 1 :(得分:0)

另一种选择是使用积极的前瞻

\.(?=\w)

答案 2 :(得分:0)

将您的模式修改为

\.(?![. ]|$)  

Demo

\.              # "."
(?!             # Negative Look-Ahead
  [. ]          # Character Class [. ]
  |             # OR
  $             # End of string/line
)               # End of # Negative Look-Ahead