在正则表达式中得到最接近的匹配

时间:2017-05-12 03:02:35

标签: php regex

我想在正则表达式中获得两个单词之间最接近的匹配

这是我要做的一个例子: Regex

问题是"Track number"会找到第一个匹配项并继续查找"subtitles"

我需要的东西只是grep,

Track number: 3 (track ID for mkvmerge & mkvextract: 2)
|  + Track UID: 1382186431
|  + Track type: subtitles

所以基本上grep最接近"Track number""subtitles"

但我不知道如何

1 个答案:

答案 0 :(得分:3)

这将匹配您拥有的实例数:

Track number:(?:.(?!Track number:))*subtitles

Here is a demo

这将返回以下内容("Track number:""subtitles"

之间存在多个区域
Track number: 3 (track ID for mkvmerge & mkvextract: 2)
|  + Track UID: 1382186431
|  + Track type: subtitles

---- Other tracks in between ----

Track number: 3 (track ID for mkvmerge & mkvextract: 7)
|  + Track UID: 1887396985
|  + Track type: subtitles