python - RegEx - 特定匹配后的单词
问题描述
我有一个 RegEx 问题,我很难找到解决方案。我想处理以下类型的字符串列表:
genre = '[{"id": 28, "name": "Action"}, {"id": 12, "name": "Adventure"}, {"id": 14, "name": "Fantasy"}, {"id": 878, "name": "Science Fiction"}]'
这些是我正在使用的电影数据框的“类型”列。我想返回一个仅包含流派名称的列表。我尝试过使用 re.match() 和 .search()。但我太像 RegEx 初学者了。
你能帮我解决这个问题吗?
非常感谢您!
解决方案
你问的是正则表达式,但是做这样的事情呢?
list_ = eval('[{"id": 28, "name": "Action"}, {"id": 12, "name": "Adventure"}, {"id": 14, "name": "Fantasy"}, {"id": 878, "name": "Science Fiction"}]')
[genre["name"] for genre in list_]
这当然是假设您只有字符串。如果您有列表本身,则不需要使用eval
. 此外,如果您的数据是从不受信任的来源提供的,请注意安全问题。
推荐阅读
- javascript - 将 Javascript 与 Python 集成;发出帖子请求
- bash - 为什么'ls'递归到文件夹中?
- flutter - Dart:在传递之前将参数存储在变量中
- javascript - 如何使用javascript函数下载本地文件
- r - R - 过滤器给出错误“参数暗示不同的行数:0、1”
- python - 我做了一个非常简单的 Pygame Zero 游戏,但是我的 Actor 图像和 screen.clear() 不起作用。你能帮我解决这个问题吗?
- reactjs - 盖茨比图像 Chrome 在 Windows 10 上闪烁
- sql - Google Sheet 获取一个主值的所有半值的总和
- mysql - 无法识别涉及我的两个表的正确查询
- javascript - jQuery记住列表中的toggleClass状态