【发布时间】:2019-11-19 18:06:20
【问题描述】:
我正在尝试创建一个简单的语法校正工具。
我想创建一个正则表达式来查找 句号 (" . ") 不是 后跟 空格 所以我可以用句号和空格替换它。
例如This is a sentence.This is another sentence.
只有上例中的第一个句号应该在表达式中匹配。
我尝试过/\.[^\s]/g,但它在匹配的句号之后返回了一个额外的字符。我只想匹配句号。
我该怎么做?
【问题讨论】:
标签: regex
我正在尝试创建一个简单的语法校正工具。
我想创建一个正则表达式来查找 句号 (" . ") 不是 后跟 空格 所以我可以用句号和空格替换它。
例如This is a sentence.This is another sentence.
只有上例中的第一个句号应该在表达式中匹配。
我尝试过/\.[^\s]/g,但它在匹配的句号之后返回了一个额外的字符。我只想匹配句号。
我该怎么做?
【问题讨论】:
标签: regex
模式中的否定字符类[^\s] 需要匹配(除空白字符之外的任何字符),这就是您有附加字符的原因。
如果您只想匹配点,您可以使用否定前瞻来断言右侧的内容不是 whitspace 字符或字符串的结尾:
\.(?!\s|$)
不匹配后面没有空格字符的点,不包括换行符:
\.(?![^\S\r\n])
【讨论】: