javascript - 正则表达式 Javascript 查找/替换

标签 javascript regex

我试图在每个句号后添加一个空格(句号)。但如果它是小数点或缩写则不然。使用 javascript,我使用了以下正则表达式:

text.replace(/([^.]*?[a-zA-Z][^.0-9]*?)\.([\S][^.]*?)|([^.]*?[0-9])\.([^\s0-9][^.]*?)/g, "$1. $2")

示例字符串:

An apple a day.keeps the doctor away.apple 3.0 is simply amazing.Iphone 5.is not bad either.

输出:

An apple a day. keeps the doctor away. apple 3.0 is simply amazing. I. s not bad either.

手机因某种奇怪的原因消失了。我使用 regexpal.com,它能够找到预期的部分。更换时出现问题。

此外,我很感激有关一些出色的查找和替换调试器的建议。

最佳答案

您尚未转义句点,因此某些字符将被删除。您还遗漏了 $3$4。由于它们完全交替,因此以下内容应该有效(并且适用于您的示例):

replace(/([^.]?[a-zA-Z][^.0-9]?)\.([\S][^.]?)|([^.]?[0-9])\.([^\s0-9][^.]*?)/g,
    "$1$3. $2$4")

关于javascript - 正则表达式 Javascript 查找/替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21006311/

相关文章:

java - 嵌套结构的正则表达式

c# - 正则表达式 C# 问题

javascript - AWS Lambda 和 Node : Write data while streaming - ends prematurely and data is missing

javascript - 提取函数体的正则表达式

java - 正则表达式匹配空格、数字和 8 个字符

c# - 从字符串中获取符号数组

python - 如何忽略 python 正则表达式组匹配中的字符串?

javascript - JavaScript 中数组的错误是什么?

javascript - jquery 更改函数无法与多个类一起正常工作

javascript - Polymer JS 简单数据绑定(bind)。如何在屏幕上输出属性?