跨多个正则表达式匹配字符串

2024-10-03 23:26:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个postgresql数据库,其中包含大约5000万个地址字符串条目。字符串的示例是

NIAID, Opportunist Infect Res Branch, Treatment Res Programs, Div Aids, Bethesda, MD USA
PRINCETON UNIV,DEPT PSYCHOL,PRINCETON,NJ 08544

等等

现在我要检查一个地址是否与30000个正则表达式列表中的任何一个匹配。我还需要知道哪个正则表达式匹配。正则表达式的示例如下

^{pr2}$

这当然是postgres的“LIKE”格式。由于regex匹配无法利用索引(反正不是很多,我已经索引了varchar_pattern_ops字段),因此此操作的总运行时间将大约为30000x5000万。在

如果有任何python库可以帮助我加快进程,我也可以使用python来进行regex匹配。在

谢谢你的帮助!在


Tags: 字符串branch数据库示例postgresql地址条目res