嗨,所以我试图从一段简单的代码中提取主持人姓名:
{
"_links": {},
"chatter_count": 2,
"chatters": {
"moderators": [
"nightbot",
"vivbot"
],
"staff": [],
"admins": [],
"global_mods": [],
"viewers": []
}
}
我一直在尝试使用\“版主\”抓住版主:\ s * [(\ s * \“\ w * \”\,) \ s *]但是要没有成功。 我正在使用regex而不是json解析主要是为了挑战。
答案 0 :(得分:1)
moderators = list()
first = re.compile(r'moderators.*?\[([^\]]*)', re.I)
second = re.compile(r'"(.*?)"')
strings = first.findall(string)
for strings2 in strings:
moderators = moderators + second.findall(strings2)
这应该可以解决问题
第一个正则表达式提取2个方括号之间的所有内容。第二个正则表达式从中提取字符串。
我把它分成2个正则表达式,以便于阅读和编写
现在,使用json模块,您可以更轻松地做一些事情:
import json
a = json.loads(string)
moderators = a['chatters']['moderators']