如果能保證句子之間 一定會有空格,那么可以這樣var s = 'the price is 32.15. 25 is mine!';
m = s.match(/(?!\s+).+?[\.?!](?=(\s|$))/g);
console.log(m);
如果不行,先不管語句是否有誤,如下面這樣,那就不好玩了var s = 'the price is 32.15.25 is mine!';
m = s.match(/(?!\s+).+?[\.?!](?=(\s|$))/g);
console.log(m);
如果不行,先不管語句是否有誤,如下面這樣,那就不好玩了var s = 'the price is 32.15.25 is mine!';
This is a book. That is a book, too.
var rs = str.replace(/(\d)([.])(\d{1,})/,"$1。$3");
var m = rs.match(/([^.?!])+/g);
for (var i = 0; i < m.length; i++) {
m[i] = m[i].replace(/[。]/g,'.');
}
console.log(m)
另外一种解法 就是把小数点的点号替换掉 用英文的句话匹配 再将结果中的替换符还原