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

标签 javascript regex

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

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

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

期望的结果: 句子一。|第二句话...|

示例: https://regex101.com/r/Ld63r8/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));

关于javascript - 正则表达式三个点之前的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59361852/

相关文章:

c# - 为什么这个通过 Regex 组循环打印输出两次?

javascript - PHP 正则表达式和 javascript 正则表达式有什么区别

javascript - 有没有办法获取调用函数的数组元素的键值?

javascript - 带有关联的 RESTful API 设计

javascript - YouTube 视频无法在移动设备上加载(嵌入灯箱中)

Python 正则表达式未返回所需结果

regex - 在每行的开头和结尾添加字符串和标签

javascript - CSS Scale and Transform 导致重叠

javascript - 无法读取未定义的属性 'first_name'

python-3.x - 使用自定义正则表达式验证linkedIn url