我试图在每个句号后添加一个空格(句号)。但如果它是小数点或缩写则不然。使用 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/