2016-12-04 77 views
-2
提取從字符串的特定部分或值

我的字符串是一樣的東西在這個模式:我想用正則表達式

{ "x_y_z":{data}, "a_b_c_d":{[my data]}, "q_w_e":{data} } 

數據我想提取的是:

{[my data]} 

能給我指指成一個方向如何實現這一目標?

+3

你已經試過了什麼? – aleb2000

+2

你的字符串是一個JSON對象嗎?如果它是一個JSON對象,你應該解析它,不要使用正則表達式。 –

+0

發佈您的努力 – GurV

回答

0

使用JSON解析器去,而是要回答這個問題更健壯,更可讀的方式:

String abcd = str.replaceAll(".*\"a_b_c_d\"\\s*:\\s*(.*?)\\s*,.*", "$1"); 

正則表達式的整個輸入匹配和捕捉目標爲1組,和替換是被捕獲的組。

+0

如果捕獲組的數據中有空格,這會工作嗎? –

+0

@ cricket_007是的。它截取下一個逗號(但不包括)的所有內容(丟棄逗號前的任何空格)。 – Bohemian