正则表达式-从头至尾查找,但只查找第一个匹配项


Regular expression - find from start to end but only first match

我需要在文本中找到两个单词,并替换它们之间的文本。所以我有一个正则表达式:

(START[a-zA-Z's]+STOP)

并且这个文本:

香蕉车启动房子苹果电脑停止鼠标钱

(匹配粗体文本)。

但当我有多个STOP单词时,这个单词与最后一个匹配,因为STOP也是[a-zA-Z''s]模式。

香蕉车启动房子苹果电脑停止鼠标钱停止橙色

如何更改此正则表达式以在单词第一次出现时停止匹配?这就是我需要得到的:

香蕉车启动房子苹果电脑停止鼠标钱停止橙色

通过在+之后添加?。所以使用这个模式:

/(START[a-zA-Z's]+?STOP)/

在线演示

您的模式(没有?将第一个STOP匹配为[a-zA-Z's]+