模式匹配-几乎相似的SQL代码块,在.TXT文件中几乎没有值的差异



在过去的几年里,我一直是这个网站的追随者,并从中受益匪浅。这是我第一次发布我被卡住的示例场景。

场景:我有两个.SQL文件,它们的代码几乎相似,但参数值(例如ID、名称)不同。现在我需要捕获每个文件的每个相似块。有了这个,你可以假设有15-20个像删除/插入这样的块具有相同的语法,但值不同。我想确定并强调使用Java的区别。

有人能帮我确定如何指定类似的块和进行区分吗。

感谢您提前查看。

您想要的被称为克隆检测器。这是一个在一个或多个文件中查找类似代码块的工具。

我们的CloneDR就是其中之一。它通过比较程序结构而不是程序文本来操作,因此更改格式和注释不会混淆它。(它使用实际的语言解析器来提取程序结构;许多其他检测器只匹配文本或程序标记)。此外,CloneDR将发现相似的代码块(具有高度相似性),并可以准确地识别它们的不同之处(我们根据直觉将差异称为"参数")。您可以在网站链接中看到它生成的报告。

最新更新