使用正则表达式进行分层名称查找

时间:2017-05-19 09:46:52

标签: python sqlite

我试图解析像这些

这样的点分隔的层次结构名称
  

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(可能更多或更少;正则表达式或专有名称)。

如何让它变得更好?我甚至使用合适的工具来完成工作吗?

0 个答案:

没有答案