Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 从文件中搜索代码段_Algorithm_Pattern Matching_Code Search Engine_Code Search - Fatal编程技术网

Algorithm 从文件中搜索代码段

Algorithm 从文件中搜索代码段,algorithm,pattern-matching,code-search-engine,code-search,Algorithm,Pattern Matching,Code Search Engine,Code Search,我试图实现搜索某些代码库上可用的bug修复。我所拥有的只是单个补丁的代码。我需要拿出一个可执行文件,它可以解析整个文件,并可以根据修复程序在整个文件中的代码比较确定修复程序是否可用。我需要一些算法建议来实现这个模式匹配练习,这在本质上是有条件的。如果有了修复,我假设您可以将其描述为增量:程序员在文件中的那个位置/文本中进行了此更改。(如果你没有,你可以从应用于前后文件的diff-like工具中获得它(请参阅我的个人简介) 然后你想搜索文本,你可以用正则表达式很好地搜索,至少在大小变化很大的情况下

我试图实现搜索某些代码库上可用的bug修复。我所拥有的只是单个补丁的代码。我需要拿出一个可执行文件,它可以解析整个文件,并可以根据修复程序在整个文件中的代码比较确定修复程序是否可用。我需要一些算法建议来实现这个模式匹配练习,这在本质上是有条件的。

如果有了修复,我假设您可以将其描述为增量:程序员在文件中的那个位置/文本中进行了此更改。(如果你没有,你可以从应用于前后文件的diff-like工具中获得它(请参阅我的个人简介)

然后你想搜索文本,你可以用正则表达式很好地搜索,至少在大小变化很大的情况下


您可能必须向用户显示匹配项以进行检查,因为搜索/匹配过程是启发式的。

patch--dry run会在修复已应用或与文件不匹配时出错。patch--dry run是否足够智能,即使行移动很少,也能识别整个文件中的块。我的意思是说一些e可能接触了文件,并在上面或下面插入了一些行,这使得行号不相关。如果它使用上下文差异,它将找到它。感谢stark,让我看看它是否符合我的需要,并将留下反馈感谢Baxter,因为修补程序在git中可用。我有关于差异的信息。我试图实现这一自动化,因为用户可能没有我不想参与其中。我希望用分隔符打破它们,并对文件进行递归搜索,但需要一个算法来实现。“将regexp应用于表示文件内容的字符串”有什么错?