我试图解析像这些
这样的点分隔的层次结构名称A.B.C.D
a.b.c.c
现在,我必须根据名称或正则表达式模式过滤掉这些模式(删除它们或获取它们)。
所以,我尝试使用带有这样的自定义regexp函数的sqlite数据库。
def regexp(expr, item):
reg = re.compile(expr)
if (item in expr):
return True
else:
return (reg.search(item) is not None)
我正在使用像这样的查询
for i in list_of_hierarchies:
cursor.execute("SELECT * FROM fault WHERE hierarchy REGEXP ?", [i])
但是,这很慢。我的总条目数约为35000,要获得的清单大约为5000(可能更多或更少;正则表达式或专有名称)。
如何让它变得更好?我甚至使用合适的工具来完成工作吗?