string - 防御近似字符串匹配

标签 string algorithm string-matching irc

如何更改字符串,以使近似字符串匹配的变体无法与原始字符串匹配?

我制作了一个 IRCbot,它根据 channel 的日志文件运行游戏。它打印日志中的引言,玩家通过猜测“谁说的”来收集积分。该 channel 相当极客,其中一名玩家只花了不到 30 分钟就构建了一个每次都能赢得比赛的机器人。我意识到手 Action 弊也很容易且无法防御,但请将此视为自动化机器人之间的竞争。我想更新我的机器人,以便任何全自动机器人都无法玩游戏:)

我考虑过从引号中随机删除一个字符,但是 agrep仍然能够匹配字符串。我考虑过用看起来相似的替代字符替换一些字符,但这对于逆向工程来说是微不足道的。我正在寻找更难打破的想法。

示例行:

[14:15] <baobot> [QUOTE 13/15] Who famously declared "minulla ainakin paperin tekemisessä 1% ajasta menee algon suunnitteluun ja 99% menee paperin kirjoittamiseen"?

最佳答案

将您的报价打印为 ascii-art。

使用类似于命令行工具Figlet或厕所(explaination)的东西。

这是一个简单的示例:例如 string2ascii-generator

为了开始使用,您可能需要从 figlet 复制源代码.

关于string - 防御近似字符串匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34417231/

相关文章:

java - 替换字符串中的特定单词

c# - 命令行参数分隔符以及如何在 C# 中检查它

c# - 按用户管理的职位查询和排序文档的最佳解决方案?

R - 基于正则表达式的出现有条件地匹配数据帧之间的变量值

c# - 如何验证密码包含X个大写字母和Y个数字?

c - 在 C 中模拟可附加数组...有点

java - 交织字符串

c++ - 用三种颜色 A 和 B 和 C 填充网格

c# - 从另一个列表中查找列表中排名最高的项目

php - 与 mysql DB 匹配单词列表的前缀