Я пытаюсь проанализировать файл кода Java и изменить комментарии, содержащие имя разработчика, и изменить формат. Пример комментариев:
//Code modified by James on 10/28/2014 for report enhancement Start --- C1
//Code modified by Steven on 10/28/2014 to show report enhancement Start --- C1
И какими я бы хотел, чтобы они стали:
// Company Name report enhancement Start --- C1
// Company Name show report enhancement Start --- C1
Строка replaceAll, которую я сделал, выглядит следующим образом:
String temp = line.replaceAll("//.*([Jj]ames)|([Ss]teven).*(to|for)", "// Company Name");
Но строка результата, которую я получаю:
//Code modified by // Company Name report enhancement End --- C57844
Я мог бы просто изменить строку замены, чтобы она содержала только название компании, но я не понимаю, почему регулярное выражение отбрасывает «//Код, измененный» в начале, когда оно является частью сопоставления. Объяснения того, почему это происходит, и предложения по изменению моего регулярного выражения будут оценены.