我有一个正则表达式,它在点(和其他一些标点符号)之后分割一个字符串(在javascript中)并获取之前的所有内容。 当连续得到3分时,他会分3次。我希望正则表达式仅在最后一个连续点之后分割。
这是当前的正则表达式:/(?<=[.,?!])/
现在: 句子一。|第二句.|.|.|
期望的结果: 句子一。|第二句话...|
最佳答案
您可以使用匹配您需要的子字符串
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/