gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 13:34:38 25 4
gpt4 key购买 nike

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

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

等等

现在我必须检查一个地址是否与包含大约 30,000 个正则表达式的列表中的任何一个相匹配。我还需要知道匹配了哪个正则表达式。正则表达式的例子是

%umass mem med ctr worcester%worcester%ma%
%darnnouth%

这当然是 postgres 的“LIKE”格式。由于正则表达式匹配不能利用索引(反正不是很多,我已经索引了字段varchar_pattern_ops),这个操作的总运行时间大约是30000x5000万。

我也可以使用 python 进行正则表达式匹配,如果有任何 python 库可以帮助我加快这个过程的话。

感谢您的帮助!

最佳答案

有什么问题:

CREATE TABLE regex (
regex text primary key
);

SELECT * FROM my_table
JOIN regex ON mytextfield like regex;

关于python - 跨多个正则表达式匹配字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15904811/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com