我使用函数来计算使用preg_match的字符串段落中的句子数,但它似乎没有返回正确数量的句子。
这是段落 我昨晚梦见我和奥巴马挂在一起,他给了我他的iPad密码,这就是“如果”我看着他一切困惑,他只是笑了笑。昨晚我梦见我有点斗牛犬/响尾蛇混合......我怎么了?昨晚我梦见自己是镇上一个高档写字楼的暖通空调专家......哈哈。 #whattheheck
这是我正在使用的功能
function countSentences($str){
return preg_match_all('/[^\s](\.|\!|\?)(?!\w)/',$str,$match);
}
对于上面的段落,它返回7个句子而不是6个句子 请告知我可以改变的内容
谢谢, DB
答案 0 :(得分:3)
试试这段RegEx:
([^\.\!\?]+)
或者这个(也将包括最终字符):
([^\.\!\?]+[\.\?\!]*)