我正在编写一个 Python 聊天机器人。无论技术是什么(Levenshtein、LCS、正则表达式等),我都想要一个My name is [ A ].
足够聪明的模式来匹配以下字符串:
My name is Tslmy. #Distance should = 0, and groupdict()['a'] outputs "Tslmy"
My name is Tesla Tahomana. #Distance should = 0(!), and groupdict()['a'] outputs "Tesla Tahomana"
my naem ist tslmy . #With a little typo, the distance = 5, and groupdict()['a'] outputs "tslmy "
请允许我用来groupdict()['a']
指代[ A ]
事物(实际上(?P<identifier>match)
)捕获的内容。
- 换句话说,我正在寻找一个带有省略/跳过/空白/忽略的“Levenshtein”,并挑选出被跳过的内容。
- 以另一种方式,我正在寻找一个对模式不那么严格的模糊(又名近似)正则表达式,仍然提供良好的 old
groupdict()
以及“模糊”值(或“编辑距离”,需要确定“字符串的最佳匹配模式”稍后)。
这是首选的解决方案,因为如果管理得当,它可以提供“足够的”groupdict()
。
但是,发现是最接近的解决方案的 TRE 库和 REGEX 库似乎没有提供“模糊性”值。如果能解决这个问题,那就更好了!
那可能吗?感谢您的关注。
更新:
我最终决定使用强大的正则表达式模块,但仍然无法获得“模糊值”。
由于此页面上的问题在理论上已解决,因此附加太多将是不光彩的。所以我对这个新问题提出了另一个问题,希望你能解决它!