gpt4 book ai didi

regex - 可以 "skip"的模糊字符串匹配?例如 "i am (.*)."到 "I am here."的距离为 0

转载 作者:行者123 更新时间:2023-12-04 12:54:54 25 4
gpt4 key购买 nike

我正在编写一个 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”,以及 挑出被跳过的内容也是。
  • 以另一种方式,我正在寻找一个模糊(又名近似)正则表达式,它可以对模式不那么严格,仍然提供良好的旧 groupdict() ,以及 “模糊”值 (或“编辑距离”,需要稍后确定“与字符串的最佳匹配模式”)。
    这是首选的解决方案,因为它提供了“足够的”groupdict()如果管理得当。
    但是,发现是最接近的解决方案的 TRE 库和 REGEX 库似乎没有提供“模糊性”值。如果能解决这个问题,那就更好了!

  • 那可能吗?感谢您的关注。

    更新:

    我决定使用强大的 regex模块到底,但仍然无法获得“模糊值”。

    由于此页面上的问题在理论上已解决,因此附加太多将是不光彩的。所以我提出 another question about this new issue ,希望你能解决!

    最佳答案

    您可以使用 RegEx 进行基本匹配:

    r"My name is (\w+){1,2}."

    然后使用 TRE库以允许变化。

    关于regex - 可以 "skip"的模糊字符串匹配?例如 "i am (.*)."到 "I am here."的距离为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17016947/

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