首页 > 解决方案 > RegEx - 特定匹配后的单词

问题描述

我有一个 RegEx 问题,我很难找到解决方案。我想处理以下类型的字符串列表:

genre = '[{"id": 28, "name": "Action"}, {"id": 12, "name": "Adventure"}, {"id": 14, "name": "Fantasy"}, {"id": 878, "name": "Science Fiction"}]'

这些是我正在使用的电影数据框的“类型”列。我想返回一个仅包含流派名称的列表。我尝试过使用 re.match() 和 .search()。但我太像 RegEx 初学者了。

你能帮我解决这个问题吗?

非常感谢您!

标签: pythonregexmatch

解决方案


你问的是正则表达式,但是做这样的事情呢?

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. 此外,如果您的数据是从不受信任的来源提供的,请注意安全问题。


推荐阅读