正则表达式-查找没有空格的句号(句号)

时间:2019-11-19 18:06:20

标签: regex

我正在尝试创建一个简单的语法校正工具。

我想创建一个正则表达式,查找不是句号(“ ”),后跟一个空格< / em>,所以我可以用句号和空格代替它。

例如This is a sentence.This is another sentence.

仅上例中的第一个句点应与表达式匹配。

我已经尝试过/\.[^\s]/g,但是在匹配的句号之后它返回了另一个字符。我只想匹配句号。

我该怎么做?

2 个答案:

答案 0 :(得分:1)

模式中的否定字符类[^\s]需要一个匹配项(除空格字符之外的任何字符),这就是为什么要有附加字符的原因。

如果您只想匹配点,则可以使用负数前瞻来断言右边的内容不是whitspace字符或字符串的末尾:

\.(?!\s|$)

Regex demo


不匹配点号后跟空白字符(换行符除外):

\.(?![^\S\r\n])

Regex demo

答案 1 :(得分:1)

您可以使用以下方法查找所有点:

(\.)

这将匹配以下示例中的所有点:

这是一个句子。这是另一个句子。

我在找。点。 。 ...

您可以添加| $以寻找行尾,并稍作调整,即可得到一个正则表达式,该正则表达式匹配所有不带空格,也不位于行尾的点:

(\.(?!\ |$))

请注意,这里有一个空白,如原义。 “必须在任何地方工作”示例如下:

(\.(?![[:space:]]|$))

如果没有,请使用您使用的语言搜索正则表达式参考。

Regex test