正则表达式在php中添加字符串中句子之间的间距

And*_* SK 1 php regex preg-replace

我使用西班牙语词典api返回小问题的定义.当定义具有多于1个句子时,会发生此特定问题.有时句子没有被空格字符正确分隔,所以我收到这样的东西:

这是一个句子.还有一些句子.有时候点之间没有空格.看到?

我正在寻找一个可以取代"."的正则表达式.对于".",当点后面紧跟一个不同于空格字符的字符.preg_replace()应该返回:

这是一句话.还有一句话.有时点之间没有空格.看到?

到目前为止我有这个:

echo preg_replace('/(?<=[a-zA-Z])[.]/','. ',$string);
Run Code Online (Sandbox Code Playgroud)

问题是,当点后面已有空格时,它还会增加一个空格.有任何想法吗?谢谢!

Ry-*_*Ry- 6

试试这个正则表达式:

echo preg_replace('/(?<!\.)\.(?!(\s|$|\,|\w\.))/', '. ', $string);
Run Code Online (Sandbox Code Playgroud)