- file_list 为要查找的列表,列表里各个元素的格式为字典格式,查询字典中的关键字中是否包含要查找的元素,如果包含,将列表中的字典加入待返回列表。看懂代码之后,可根据自己的需求修改代码。重点在正则化表达式的构造上!
import re
file_list = [
{
"type": "dir",
"size": "123",
"name": "access.log",
},
{
"type": "dir",
"size": "123",
"name": "access.log.gz",
},
{
"type": "dir",
"size": "123",
"name": "error.log",
},
{
"type": "dir",
"size": "123",
"name": "access-auth.log",
},
]
def fuzzy_finder(key, data):
"""
模糊查找器
:param key: 关键字
:param data: 数据
:return: list
"""
suggestions = []
pattern = '.*%s.*'%(key)
regex = re.compile(pattern)
for item in data:
match = regex.search(item['name'])
if match:
suggestions.append(item)
return suggestions
keys = "e"
result = fuzzy_finder(keys,file_list)
print(result)