这是用户写一些文本的文本区域。我在里面写了一个例子。
<textarea id="text">First sentence. Second sentence? Third sentence!
Fourth sentence.
Fifth sentence
</textarea>
正则表达式中已经考虑的要求
- 分隔符包含在数组项中
- 最后一句不一定需要分隔符(它可以以任何字符结尾)
- 如果一个句子有多个分隔符,则将其包含在数组项中。示例:第二句话?!?应该是 [...,"第二句?!?",...]
缺少要求(我需要帮助)<<
每个新行应由一个空数组项表示。如果应用了正则表达式,这应该是响应:
["First sentence.", "Second sentence?", "Third sentence!", "", "Fourth sentence.", "", "", "Fifth sentence"]
相反,我收到了这个:
["First sentence.", "Second sentence?", "Third sentence!", "Fourth sentence.", "Fifth sentence"]
这是正则表达式和匹配调用:
var tregex = /[^\r\n.!?]+(:?(:?\r\n|[\r\n]|[.!?])+|$)/gi;
var sentences = $('#text').val().match(tregex).map($.trim);
有任何想法吗?谢谢!