w.k*_*w.k 5 regex perl pattern-matching
我在数据库中有很多供应商,他们在数据的某些方面都有所不同.我想制作基于以前数据的数据验证规则.
例:
A: XZ-4, XZ-23, XZ-217
B: 1276, 1899, 22711
C: 12-4, 12-75, 12
Run Code Online (Sandbox Code Playgroud)
目标:如果用户为供应商B输入字符串'XZ-217',算法应比较先前的数据并说:该字符串与供应商B先前的数据不相似.
是否有一些好方法/工具来实现这种比较?答案可能是一些通用的算法或Perl模块.
编辑:我同意,"相似性"很难定义.但是我想抓住算法,它可以分析之前的100个样本,然后将分析结果与新数据进行比较.相似性可以基于长度,字符/数字的使用,字符串创建模式,类似的开始/结束/中间,具有一些分隔符.
我觉得这不是一件容易的事,但另一方面,我觉得它有很广泛的用途.所以我希望,已经有了一些提示.
如果有一个Tie::StringApproxHash模块,它就适合这里。
我认为您正在寻找结合了模糊逻辑功能String::Approx和哈希接口的东西Tie::RegexpHash。
前者更为重要;后者将使编码工作变得轻松。