我有一个正则表达式,它在一个点(和其他一些标点符号)后分割一个字符串(在javascript中),并在此之前获取所有内容。 当有3个连续点时,他将其拆分3次。我希望正则表达式仅在最后一个连续点之后拆分。
这是当前的正则表达式:/(?<=[.,?!])/
现在: 一句。句子二。|。|。|
所需结果: 一句。句子二... |
答案 0 :(得分:1)
您可以匹配您需要使用的子字符串
text.match(/[^.,?!]+[.,?!]*/g)
请参见regex demo。
模式详细信息
[^.,?!]+
-除.
,,
,?
和!
以外的1个或多个字符[.,?!]*
-0个或更多.
,,
,?
或!
个字符。JS演示:
var text = "This is match one. This is the second, and the third? I want this to be the fourth and last...";
console.log(text.match(/[^.,?!]+[.,?!]*/g));