如何找到最佳模糊字符串匹配?

时间:2016-04-24 01:58:52

标签: python regex string fuzzy-search pypi-regex

Python的new regex module支持模糊字符串匹配。唱歌(现在)大声赞美。

根据文档:

  

ENHANCEMATCH标志使模糊匹配尝试改善拟合   它找到的下一场比赛。

     

BESTMATCH标志使模糊匹配搜索最佳匹配   而不是下一场比赛

使用ENHANCEMATCH设置(?e)标志,如

  

regex.search("(?e)(dog){e<=1}", "cat and dog")[1]返回“dog”

但实际上没有设置BESTMATCH标志。怎么做的?

1 个答案:

答案 0 :(得分:5)

BESTMATCH标志功能上的

Documentation是部分(但正在改进)。 Poke-n-hope显示BESTMATCH是使用(?b)设置的。

>>> import regex
>>> regex.search(r"(?e)(?:hello){e<=4}", "What did you say, oh - hello")[0]
'hat d'
>>> regex.search(r"(?b)(?:hello){e<=4}", "What did you say, oh - hello")[0]
'hello'