句子的正则表达式
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.
当点后有 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.