【问题标题】:Validate if the word a is almost same as the word b [duplicate]验证单词 a 是否与单词 b 几乎相同 [重复]
【发布时间】:2016-03-02 21:48:51
【问题描述】:

如果你有字符串 a = "Super rich rush to buy superyachts" 并且你有字符串 b = "ruush to buyy"。

我的问题是: 如果字符串“a”中的几乎所有单词都与字符串“b”相同,是否可以使用正则表达式进行确认?如果是,怎么做?

【问题讨论】:

  • “几乎”是主观的——正则表达式不太擅长主观。您可能正在寻找低于某个阈值的字符串之间的 Levenshtein distance 之类的东西,而不是正则表达式。
  • 不,这不是正则表达式的真正用途。
  • 我认为您将不得不使用拼写检查库。此处的示例:stackoverflow.com/questions/453611/…
  • 看看你能不能写出“几乎相同”的精确定义。如果您可以编写执行此操作的代码
  • 可能值得一读编辑距离算法。

标签: c# regex


【解决方案1】:

我不确定是否只使用正则表达式,但经常用于这种“模糊匹配”的一种算法是Levenshtein distance

那里有许多现有的 C# 实现。一个不错的是谷歌的Diff-match-patch

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-16
    • 1970-01-01
    • 1970-01-01
    • 2017-02-19
    • 2011-10-20
    • 2015-11-17
    • 1970-01-01
    相关资源
    最近更新 更多