句子的正则表达式

Regular expression for sentences

当点后有 space 时,我的正则表达式运行良好。

$str = 'Fry me a Beaver. Fry me a Beaver! Fry me a Beaver? Fry me Beaver no. 4?! Fry me many Beavers... End';

$sentences = preg_split('/(?<=[.?!])\s+(?=[a-z])/i', $str);

但是当点后有 \n 时,我也需要它才能正常工作。

$str = 'Fry me a Beaver. Fry me a Beaver!\nFry me a Beaver? Fry me Beaver no. 4?! Fry me many Beavers... End';

我无法在常规中添加 \n

您可以简单地添加一个 \n,用 OR (|):
链接到您的 \s /(?<=[.?!])\s+|\n+(?=[a-z])/i

这可以看出有效here.