2012-02-26 35 views
-1

String str的一部分設置爲:正則表達式得到一個字符串

{"query":{"count":1,"created":"2012-02-26T21:38:27Z","lang":"en-US","results":{"title":"Google Search"}}} 

我想用正則表達式來獲得Google Search2012-02-26T21:38:27Zen-US是可變的。

這將發生在Javascript中。

謝謝。

+2

爲什麼不直接解析JSON字符串,並使用所產生的數據結構,以獲得在字符串你需要嗎? – 2012-02-26 21:46:52

+0

您是否使用助手庫,如jQuery? – MyStream 2012-02-26 21:48:22

+0

否;你想使用JSON解析器。 – SLaks 2012-02-26 21:48:31

回答

1

這是一個JSON字符串,因此分析它這樣:

JSON.parse(str).query.results.title 
+0

非常好,謝謝! – 2012-02-26 21:50:12

4

這是一個JSON字符串,所以你不想使用正則表達式。相反:

var obj = window.JSON.parse(str); 
var title = obj.query.results.title; 
2

我認爲你會使用JSON parser獲得您想要的信息,這是非常容易。正如別人在這裏提到的,你可以使用類似下面的內容來獲得你想要的東西。

JSON.parse(str).query.results.title 

如果由於某種原因,你絕對要,雖然使用正則表達式,你可以嘗試像:

function parseStr(str) { 
    var re, matches; 
    re = /"results":{"title":"([^"]*)"}/; 
    matches = str.match(re); 
    if (matches && matches.length > 1) { 
     return matches[1]; 
    } 
} 
+0

很酷,謝謝你徹底! – 2012-02-26 21:54:46

相關問題