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解析器要干净得多!