gpt4 book ai didi

.net - 如何检测某个短语或正则表达式的 "typo"?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:08:12 32 4
gpt4 key购买 nike

如何才能检测到拼写错误,但仅限于特定短语。另一种思考方式是如何检测某个正则表达式的拼写错误。

例如,我不想要一个通用的拼写错误查找器,我在上面找到了多个资源。我不想要一个通用的拼写检查器,我又在上面找到了多个资源。

我将如何为相对恒定的值编写拼写错误检查器...比如:

super secret 13-12345

它应该始终显示“Super Secret NN-NNNNN”(N 表示任何 0-9 数字)。

它会将以下内容标记为“打字错误”:

  1. super secret 13-12345
  2. super secret 1312345
  3. Sper Scret 13-123456
  4. Spuer secret 13-12345
  5. super secret
  6. 13-12345

不会将以下内容标记为“打字错误”:

  1. super secret 13-12345
  2. 任何其他随机词
  3. 超人飞越丛林

我最担心的是额外的字符泄漏、转置字符或不遵循 NN-NNNNN 格式的数字。

我觉得这是一个可以回答的问题,但我可能只是没有使用正确的词来问 Google 或 SO。

我正在用 .NET 编写它,但显然可以移植任何东西。

最佳答案

这不是放置正则表达式的好地方:您需要一个正则表达式来检测每一种可能的打字错误。相反,您应该查看 Levenshtein distance 。它会像这样工作:

  1. 用占位符替换所有无效字符,例如“!”。
  2. 用不同的占位符替换所有数字,例如“#”。
  3. 从“Super Secret ##-#####”计算 Levenshtein 距离。
  4. 如果距离低于某个值且不为 0,则返回 true。否则,返回 false。

实现后,使用第 4 步中的阈值来匹配所需的行为。

编辑:“无效字符”可以表示“Superct0123456789-”以外的任何字符,也可以表示“-”以外的任何非字母数字。最终结果应该是一样的。

关于.net - 如何检测某个短语或正则表达式的 "typo"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18700024/

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