我有一个从数据库中的列表创建的正则表达式,以匹配游戏中建筑物类型的名称.问题是拼写错误,有时那些在游戏中为团队编写说明的人会拼错一个建筑名称,显然正则表达式不会捡起它(即拼写为“大学”和“大学”).
有关于使正则表达式拼写错误拼写为1或2个字母的建议吗?
正则表达式是动态生成的,并且可以在能够处理更多负载的本地计算机上运行,因此我作为最后的手段以算法方式创建每个单词的版本,其中缺少一个字母,然后另一个添加了字母.
请允许我向您介绍
Levenshtein Distance,它是字符串之间差异的度量,它是将一个字符串转换为另一个字符串所需的转换次数.
它也是built into PHP.
因此,我将输入文件拆分为非单词字符,并测量每个单词与目标建筑物列表之间的距离.如果距离低于某个阈值,则假设它是拼写错误.
我认为你有更多的运气匹配,而不是试图为每个特殊情况制作正则表达式.
原文地址:https://www.jb51.cc/regex/356767.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。