首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >识别.patch文件

识别.patch文件
EN

Stack Overflow用户
提问于 2011-05-10 12:44:27
回答 1查看 155关注 0票数 0

这是问题所在。我正在写一个软件,从一个错误跟踪系统查询错误附件。我可以通过只获取文本附件(纯文本/文本等)来过滤查询,并且我希望只保留有效的补丁文件(具有类似diff -u输出的文件,可以作为源文件的补丁应用)。因此,我需要一种方法来指定哪个附件是有效的补丁。例如:

假设我有一个包含以下内容的附件:

索引: compiler/cpp/src/generate/t_csharp_generator.cc

- compiler/cpp/src/generate/t_csharp_generator.cc (1033689版) +++ compiler/cpp/src/generate/t_csharp_generator.cc (工作副本) @@ -456,7 +456,7 @@ t= ((t_typedef*)t)->get_type();} if ((*m_iter)->get_value() != NULL) {- print_const_value(out,"this.“+ (*m_iter)->get_name(),t,(*m_iter)->get_value(),true,true);+ print_const_value(out,"this._“+ (*m_iter)->get_name(),t,(*m_iter)->get_value(),true,true);}}

我如何知道这是一个有效的补丁?有没有一个正则表达式来匹配一些可能的diff -u输出,这样我就可以在java中写出类似这样的代码:

String attachmentContent = .....if(attachmentContent.matches(正则表达式))...

提前谢谢你,猫王

EN

回答 1

Stack Overflow用户

发布于 2011-12-29 00:43:06

你不能用一个简单的正则表达式来测试,也不能用一个复杂的正则表达式引擎来测试,它需要一个正则表达式引擎,它能够解释@@之间的部分为数字,并从中定义重复计数,我不知道有哪个RE引擎可以做到这一点。

另一方面,你应该不会有太多的问题找到一个库解析和加载Unix补丁(这绝对不是一个计算密集型任务),所以只要尝试加载补丁就可以让你验证它。例如,Java diff utils应该直接做到这一点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5945258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档