Algorithm 解析文本并返回相似性

Algorithm 解析文本并返回相似性,algorithm,parsing,Algorithm,Parsing,假设我有几个URL,我从每个URL返回basename,如下所示 http://www.test.com/the.code.r00 会回来吗 the.code.r00 我有几个从几个URL中提取的基本名称要处理 the.code.r00 the.code.r01 .. ... the.code.r12 和这些一起,我也有来自其他URL的以下基本名称 the.matrix.r00 the.matrix.r01 .. ... the.matrix.r14 我想知道是否有一个已知的算法已经过测

假设我有几个URL,我从每个URL返回basename,如下所示

http://www.test.com/the.code.r00
会回来吗

the.code.r00
我有几个从几个URL中提取的基本名称要处理

the.code.r00
the.code.r01
..
...
the.code.r12
和这些一起,我也有来自其他URL的以下基本名称

the.matrix.r00
the.matrix.r01
..
...
the.matrix.r14
我想知道是否有一个已知的算法已经过测试并证明可以返回

the.code.r
the.matrix.r
在解析我上面列出的基本名称之后

另外,如果相反,有一个*nix工具可以做同样的事情,那将是超级的

注意,格式并不总是像上面那样,否则我可以做一个简单的substr。数字并不总是列在字符串中的某个特定位置。其他一些例子

the.code.part01.rar
the.code.001
..
....

我可以实现我自己的算法来实现这一点,但如果没有一些繁重的测试,它可能会有很多错误,因此如果已经定义了一个算法,我更愿意使用已知的算法。

您可能正在寻找该算法的锚定实现。对字符串列表进行排序,并在相邻元素上执行锚定LCS。将LCS插入多值hashmap,LCS作为键,两个字符串作为值


一旦有了这些,就可以对LCS字符串执行相同的操作,直到达到某个阈值。

您可能正在寻找的是的锚定实现。对字符串列表进行排序,并在相邻元素上执行锚定LCS。将LCS插入多值hashmap,LCS作为键,两个字符串作为值


一旦你有了这些,对LCS字符串做同样的操作,直到你达到某个阈值。

查看列表中的每对字符串,并计算它们之间的aka字符串编辑距离。这将为您提供将一个字符串更改为另一个字符串所需的最小更改次数


现在,通过跟踪动态程序中的反向指针,从Levenshtein实现中获得字符串之间的实际更改集。如果这组更改只包括用数字替换其他数字,那么您已经找到了一种模式。复制其中一个字符串,删除这些数字,将其存储在模式集中,然后继续使用其他字符串对

查看列表中的每对字符串,并计算它们之间的aka字符串编辑距离。这将为您提供将一个字符串更改为另一个字符串所需的最小更改次数

现在,通过跟踪动态程序中的反向指针,从Levenshtein实现中获得字符串之间的实际更改集。如果这组更改只包括用数字替换其他数字,那么您已经找到了一种模式。复制其中一个字符串,删除这些数字,将其存储在模式集中,然后继续使用其他字符串对