Вот в чем проблема. Я пишу часть программного обеспечения, которое запрашивает вложения об ошибках из системы отслеживания ошибок. Я могу отфильтровать запрос, получая только текстовое вложение (обычный/текст и т. д.), и я хочу сохранить только действительные файлы исправлений (файлы, которые имеют аналогичный вывод diff -u, который можно применить в качестве исправления к исходному файлу). Поэтому мне нужен способ указать, какое вложение является допустимым патчем. Например:
скажем, у меня есть это вложение со следующим содержанием:
Индекс: компилятор/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 , истинный); + print_const_value(out, "this._" + (*m_iter)->get_name(), t, (*m_iter)->get_value(), true, true); } }
Как я могу узнать, что это правильный патч? Есть ли регулярное выражение для соответствия некоторым возможным выводам diff -u, поэтому я могу написать что-то вроде этого в java:
Строка attachmentContent = ..... if(attachmentContent.matches(regex))...
Заранее спасибо, Элвис