PHP + 将段落拆分为数组

PHP + Split paragraph into array

我找不到任何解决办法。请帮忙。 我需要将此 "paragraph" 拆分为句子数组:

$paragraph = "a. b. c. hello o.c.. hello world -in.. hello. world. 8.5 hello world. ";

生成的数组应如下所示:

0=>a.
1=>b.
2=>c.
3=>hell o.c.
4=>hello world -in.
5=>hello.
6=>world.
7=>8.5 hello world.

我走到这一步

preg_split('/(?<=[.?!;:])\s+/', $sentence, -1, PREG_SPLIT_NO_EMPTY);

但这不允许小数。

如果前面的匹配匹配,您可以使用 (*SKIP)(*FAIL) 告诉正则表达式不匹配。所以

(in|o\.c)\.\h+(*SKIP)(*FAIL)|(?<=[.?!])\s+
如果 in.o.c. 匹配,

应该告诉正则表达式不匹配。否则拆分 .!? 和 space.

PHP 演示:https://eval.in/542856
Regex101 演示:https://regex101.com/r/eS0tR7/1