Javascript正则表达式无法匹配省略号

时间:2014-01-25 22:54:05

标签: javascript regex match ellipsis

我正在使用的当前REGEX如下:

var sentences = fulltext.match(/[^\.!\?]+[\.!\?]+/g);

返回一个包含句子的数组包含空格(我需要所有的字符)。问题是,它不适用省略号“......”,我猜它也不适用于其他非传统形式的标点符号。

如何修复我的REGEX以匹配此标点和其他形式的标点符号?

那里有REGEX的 noob 友好示例驱动指南吗?

2 个答案:

答案 0 :(得分:3)

您可以将省略号(以及任何其他标点字符)添加到字符集中。

var input = "First sentence… Second sentence. ";
input.match(/[^\.\?!;…]+[\.\?!;…]+/g);

结果:

["First sentence…", " Second sentence."]

答案 1 :(得分:1)

省略号的Unicode为\u2026

因此,您可以使用\u2026来匹配省略号。

代码

var fulltext= "First sentence… Second sentence. ";
fulltext.match(/([^.?!;\u2026]+[.?!;\u2026]+)/g);

<强>输出

["First sentence…", " Second sentence."]

<强> DEMO and Explanation