Javascript 正则表达式获取字符串的一部分

Javascript 正则表达式获取字符串的一部分,javascript,regex,Javascript,Regex,String str设置为: {"query":{"count":1,"created":"2012-02-26T21:38:27Z","lang":"en-US","results":{"title":"Google Search"}}} 我想使用Regex获取谷歌搜索。2012-02-26T21:38:27Z和en-US是可变的 这将在Javascript中发生 谢谢。这是一个JSON字符串,所以您不想使用正则表达式。相反: var obj = window.JSON.parse(str)

String str
设置为:

{"query":{"count":1,"created":"2012-02-26T21:38:27Z","lang":"en-US","results":{"title":"Google Search"}}}
我想使用Regex获取
谷歌搜索
2012-02-26T21:38:27Z
en-US
是可变的

这将在Javascript中发生


谢谢。

这是一个JSON字符串,所以您不想使用正则表达式。相反:

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

这是一个JSON字符串,因此将其解析为:

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

我想你会发现使用a获得你想要的信息要容易得多。正如这里的其他人所提到的,你可以使用下面这样的东西来获得你想要的东西

JSON.parse(str).query.results.title
如果出于某种原因,您必须使用RegExp,您可以尝试以下方法:

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

为什么不解析JSON字符串并使用生成的数据结构来获取所需的字符串呢?您是否使用帮助程序库,如jQuery?否;您想使用JSON解析器。出于某种原因,我认为这是一个字符串。谢谢大家。使用JOSN解析器要干净得多!