正则表达式 - 从头到尾查找但只有第一个匹配

时间:2016-05-08 16:39:27

标签: php regex

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

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

和本文:

  

香蕉车 START house苹果电脑停止鼠标钱

(粗体文字匹配)。

但是当我有多个STOP字时,那么这个匹配到最后一个,因为STOP也是[a-zA-Z \ s]模式。

  

香蕉车 START house苹果电脑停止鼠标停止橙色

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

  

香蕉车 START house苹果电脑停止鼠标停止橙色

1 个答案:

答案 0 :(得分:2)

?之后添加+。所以使用这种模式:

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

Online Demo

您的模式(不包含?首先将STOP[a-zA-Z\s]+匹配。