正则表达式Javascript查找/替换
我试图在每个句号(句号)后添加一个空格。但如果是小数点或缩写,则不是。使用javascript,我使用了以下正则表达式:正则表达式Javascript查找/替换,javascript,regex,Javascript,Regex,我试图在每个句号(句号)后添加一个空格。但如果是小数点或缩写,则不是。使用javascript,我使用了以下正则表达式: text.replace(/([^.]*?[a-zA-Z][^.0-9]*?)\.([\S][^.]*?)|([^.]*?[0-9])\.([^\s0-9][^.]*?)/g, "$1. $2") 示例字符串: 一天一个苹果。远离医生。苹果3.0很简单 太棒了。iphone5.0也不错 输出: 一天一个苹果。让医生远离我。苹果3.0简直太神奇了。我 那也不错 电话因为某种奇
text.replace(/([^.]*?[a-zA-Z][^.0-9]*?)\.([\S][^.]*?)|([^.]*?[0-9])\.([^\s0-9][^.]*?)/g, "$1. $2")
示例字符串:
一天一个苹果。远离医生。苹果3.0很简单
太棒了。iphone5.0也不错
输出:
一天一个苹果。让医生远离我。苹果3.0简直太神奇了。我
那也不错
电话因为某种奇怪的原因消失了。我使用了regexpal.com,它能够找到预期的部分。更换有问题
另外,我也希望您能为我提供一些很好的查找和替换调试器的建议。您还没有逃过这段时间,所以一些字符被删除了。您还将取消
$3
和$4
。由于它们完全相互交替,以下内容应该有效(并且将适用于您的示例):
缩写的例子是什么?你指的是首字母缩略词吗?你打算如何区分一个句子的结尾和点语法代码(foo.bar)或电子邮件地址(joe)之间的区别。blow@mycompany.com)等等。?Regex不会帮你的。在测试中添加一个url可以帮助你为Regex调试一个好的调试器。是的,缩写我指的是首字母缩写
replace(/([^.]?[a-zA-Z][^.0-9]?)\.([\S][^.]?)|([^.]?[0-9])\.([^\s0-9][^.]*?)/g,
"$1$3. $2$4")