正则表达式三点之前的所有内容

时间:2019-12-16 17:47:38

标签: javascript regex

我有一个正则表达式,它在一个点(和其他一些标点符号)后分割一个字符串(在javascript中),并在此之前获取所有内容。 当有3个连续点时,他将其拆分3次。我希望正则表达式仅在最后一个连续点之后拆分。

这是当前的正则表达式:/(?<=[.,?!])/

现在: 一句。句子二。|。|。|

所需结果: 一句。句子二... |

示例: https://regex101.com/r/Ld63r8/1

1 个答案:

答案 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));

相关问题