Javascript 检查文本是否与Lentency匹配?

Javascript 检查文本是否与Lentency匹配?,javascript,regex,parsing,fuzzy-comparison,Javascript,Regex,Parsing,Fuzzy Comparison,我正在开发一个应用程序,它向用户读取一个琐碎的问题,然后要求用户键入一个答案,看看它们是否正确。我希望能够将用户的答案与实际答案进行比较,看看它们是否在某种程度上匹配,并稍微宽容一些。例如,如果答案是“Rahmaninoff”,用户输入“rakmaninoff”或“Rahmaninof”。。。我希望他们被认为是正确的。有什么方法或软件可以做到这一点吗?查找“Levenshtein距离”-这将是一个很好的起点。Levenshtein距离和n-grams。但它仍然不是完美的。你最好的选择是提供多项选

我正在开发一个应用程序,它向用户读取一个琐碎的问题,然后要求用户键入一个答案,看看它们是否正确。我希望能够将用户的答案与实际答案进行比较,看看它们是否在某种程度上匹配,并稍微宽容一些。例如,如果答案是“Rahmaninoff”,用户输入“rakmaninoff”或“Rahmaninof”。。。我希望他们被认为是正确的。有什么方法或软件可以做到这一点吗?

查找“Levenshtein距离”-这将是一个很好的起点。Levenshtein距离和n-grams。但它仍然不是完美的。你最好的选择是提供多项选择。我个人非常喜欢Yaro Winkler距离函数。我发现在我的用例中,它比Levenshein距离提供更好的结果。此处提供了JavaScript实现: