2016-11-21 62 views
-2

所以,我一直在四處搜尋,可以找到很多答案,但他們不回答我的問題。這是我用來獲取"duration":,之間的字符串的代碼,它可以很好地工作,但它會得到每一次出現,我只想得到最後一次出現。 Regex101 Demo在兩個單詞|之間獲取字符串最後一次發生

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

得到:

{ 「時間」:5.016, 「持續時間」:5.016, 「持續時間」:5.016, 「持續時間」:, }

我想知道。

{ 「時間」:5.016, 「持續時間」:5.016, 「持續時間」:5.016, 「持續時間」: ,}

這不只是JSON

+0

使用JSON解析器。 –

+0

僅使用[tag:regex]標籤是不夠的,請添加您使用正則表達式的環境的標籤,以便您可以獲得實際解決問題的答案,而不是給您帶來可能或不可行的破解。請參閱[什麼是XY問題?](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem) – SeinopSys

+1

@CasimiretHippolyte,提供的示例不是有效的JSON。 – wdosanjos

回答

-2

您可以使用正則表達式前瞻像這樣:

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

Updated RegEx Demo

  • [^,]+匹配1或更多,是不是逗號任何字符,
  • (?!.*"duration")是負先行斷言我們沒有發生"duration"領先於當前位置。
+1

爲什麼人們不喜歡什麼時總是downvote?無論如何,謝謝你的回答。 –

相關問題