我正在尝试使用。!?就像在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 )
);

09-26 00:20