Python 的新正则表达式模块支持模糊字符串匹配。大声赞美(现在)。
根据文档:
该
ENHANCEMATCH标志进行模糊匹配尝试以提高它找到的下一个匹配的拟合度。该
BESTMATCH标志使模糊匹配搜索最佳匹配而不是下一个匹配
使用asENHANCEMATCH设置标志(?e)
regex.search("(?e)(dog){e<=1}", "cat and dog")[1]返回“狗”
但实际上设置BESTMATCH标志并没有什么。它是怎么做的?
Python 的新正则表达式模块支持模糊字符串匹配。大声赞美(现在)。
根据文档:
该
ENHANCEMATCH标志进行模糊匹配尝试以提高它找到的下一个匹配的拟合度。该
BESTMATCH标志使模糊匹配搜索最佳匹配而不是下一个匹配
使用asENHANCEMATCH设置标志(?e)
regex.search("(?e)(dog){e<=1}", "cat and dog")[1]返回“狗”
但实际上设置BESTMATCH标志并没有什么。它是怎么做的?
关于标志功能的文档BESTMATCH是部分的(但正在改进)。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'