2017-08-01 57 views
1

我試圖從源代碼中提取方括號(鍵和值)中的某些信息。文字 例子:正則表達式:在括號內找到幾個模式

"analytics": [ 
     ["KEY", "BLA BLA"],["KEY2","BLA BLA"], 
     ["KEY3", "BLA BLA"] 
    ] 
    [BAD STRING] 

我想某些模式串的名單:「KEY」,「價值」],在[]不是萬能的,所以我不能\[(.*?)\]
我試過用\[(\"\S+\"\,\s*\".*\")\],它適用於單獨行上的鍵值,但在一行中的[]之間包含所有內容。 尋找幫助...

回答

2

您可以使用下面的正則表達式:

\["([^"]*)"\s*,\s*"([^"]*)"] 

regex demo

詳細

  • \[" - 一個["
  • ([^"]*) - 第1組:比"
  • "其他任何0+字符 - 雙引號
  • \s*,\s* - 一個包圍0+空格
  • ", - 雙引號
  • ([^"]*) - 組2:任何0以外的字符"
  • "] - 雙引號,然後]
+0

@howlger請勿使用佔有量詞,如果他們沒有真正提升性能。在這裏,非佔有性,貪婪的量詞足夠「高性能」。 –

+0

非常感謝!正是我需要的! –