Вот проблема. Я пишу часть программного обеспечения, которое запрашивает вложения ошибок из системы отслеживания ошибок. Я могу отфильтровать запрос, только получая текстовое вложение (обычный / текстовый и т. Д.), И я хочу сохранить только допустимые файлы исправлений (файлы, которые имеют аналогичный вывод diff -u, который можно применять как исправление к исходному файлу). Поэтому мне нужен способ указать, какое вложение является действительным патчем. Например:
допустим, у меня есть вложение следующего содержания:
Индекс: компилятор / cpp / src / generate / t_csharp_generator.cc
--- компилятор / cpp / src / generate / t_csharp_generator.cc (редакция 1033689)
+++ компилятор / 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 = .....
если (attachmentContent.matches (регулярное выражение)) ...
Заранее спасибо,
Элвис