我正在尝试使用。!?就像在this question中所做的一样,但也要考虑句子开头和结尾可能的双引号。我正在使用这个:
let str = '" Non. Es-tu sûr ? "';
let result = str.match(/[^\.!\?]+[\.!\?]+/g);
console.log(result)
但是当我这样做时,?之后的两个字符没有被抓住。所以没有得到:
['“ Non。','Es-tusûr?”']
我越来越:
['“ Non。','Es-tusûr?']
反正有没有使用正则表达式拆分这些句子?
最佳答案
看起来您需要做的只是在开头和结尾匹配"
:
let str = '" Non. Es-tu sûr ? "';
console.log(
str.match( /"?[^.!?]+[.!?]+(?: *")?/g )
);