java - 在一大串随机字符中找到一串随机字符(可能有错误)

标签 java regex

我正在尝试在一个没有空格的大字符串中搜索一个较小的字符串。使用正则表达式我可以很容易地找到完美匹配,但我不知道如何找到部分匹配。通过部分匹配我的意思是字符串中的一两个额外字符或一两个已更改的字符,或者每个字符之一。第一个和最后一个字符将始终匹配。这类似于拼写检查器,但没有空格并且字符串不包含实际单词,只是随机的十六进制数字。

我想出了一种方法,如果没有额外的字符,可以使用 indexOf(string.charAt(0)) 和 indexOf(charAt(string.length()-1) 并循环遍历两个索引之间的字符来查找字符串。但这在处理随机字符时可能会出现问题,因为有可能以正确的间距找到第一个和最后一个字符,但没有一个中间字符匹配。

我已经为这个问题绞尽脑汁好几个小时了。有什么想法吗?

最佳答案

Here's an article我发现这显示了一个简单的拼写检查器是如何工作的。我知道您不是在进行拼写检查,但想法是相似的。

这让我想起了 nearest neighbor algorithm .我使用最近邻算法来做手势识别。但这些手势实际上只是二维点的数组,我会使用最近邻来确定哪个手势看起来最接近该手势,即使这些点并不完全相同。在我看来,您可以按照与您正在尝试做的相同的方式做一些事情。

关于java - 在一大串随机字符中找到一串随机字符(可能有错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2558730/

相关文章:

java - 如何使用 header "Range"分段发送文件?

javascript - 为什么相同的按位计算在 Java 和 JavaScript 中会产生不同的结果?

java - 有界类型参数有什么好处?

java - 使用 fragment 显示 Activity 中的工具栏时出现问题

正则表达式 - 如何从引号之间提取文本并排除引号

java - 如何通过名称作为字符串访问对象的字段/方法

php - 如何用连字符替换点、空格和逗号并避免使用 php 出现双连字符?

Java模式换行问题

php - preg_match 如何处理使用\Q..\E 时的定界符?

javascript - 使用正则表达式查找整个句子