我正在尝试在较大文本中模糊搜索较短文本。
常见的Python库,例如fuzzywuzzy和rapidfuzz,支持“partial_ratio”函数,但它们只返回分数,而不返回匹配的位置。
是否有一些库或函数可以用来获取模糊匹配的where(类似于正则表达式匹配的span方法)?
我查看了 fuzzywuzzy 并指出,找到匹配的 索引是一个悬而未决的问题。 RapidFuzz也是如此。
这促使我“(类似于正则表达式匹配的span方法)”围绕这个方法做了一些研究。 在我的研究过程中,我发现了 Python 包 regex。 该包的自述文件谈到了模糊匹配。我没有使用过这个包,但它似乎对解决您的用例可能有用。
rapid fuzz 现在有 fuzz.partial_ratio_alignment 部分比例对齐,它给出了源字符串和目标字符串的跨度