在两个单词之间获取字符串|最后一次出现

时间:2016-11-21 21:31:16

标签: regex

所以,我一直在寻找并找到很多答案但是,他们不回答我的问题。这是我用来获取"duration":,之间的字符串的代码,它可以正常工作但是,每次都会出现,我想只获取最后一次出现的代码。 Regex101 Demo

(?<=\"duration":)(.*?)(?=\,)

得到:

  

{&#34;期限&#34;: 5.016 ,&#34;期限&#34;: 5.016 ,&#34;期限&#34;: 5.016 下,   &#34;持续时间&#34;: 125 ,}

我想得到。

  

{&#34;持续时间&#34;:5.016,&#34;持续时间&#34;:5.016,&#34;持续时间&#34;:5.016,&#34;持续时间&#34;:   的 125 下,}

这不仅适用于JSON

1 个答案:

答案 0 :(得分:-2)

您可以使用这样的前瞻性正则表达式:

(?<="duration": )[^,]+(?!.*"duration")

Updated RegEx Demo

  • [^,]+匹配任何非逗号字符的1个或多个,
  • (?!.*"duration")是一个负面的预测,声称我们在当前位置之前没有"duration"出现。