これは、ユーザーがテキストを書き込むテキストエリアです。その中に例を書きました。
<textarea id="text">First sentence. Second sentence? Third sentence!
Fourth sentence.
Fifth sentence
</textarea>
正規表現ですでに考慮されている要件
- セパレータは配列項目に含まれています
- 最後の文は必ずしも区切り文字を必要としません(任意の文字で終了できます)
- 文に複数の区切り文字がある場合、それは配列項目に含まれます。例:2番目の文?!?[...、 "2番目の文?!?"、...]
要件がありません(これについてサポートが必要です)<<
新しい各行は、空の配列項目で表す必要があります。正規表現が適用される場合、これは応答である必要があります。
["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);
何か案は?ありがとう!