Я пытаюсь найти лучшую методологию для поиска определенного шаблона, а затем заменить конечную часть шаблона. Вот краткий пример (в C#):Regex - заменить только последнюю часть выражения
// Найти любое значение года, начиная с кронштейном или подчеркивания
string patternToFind = "[[_]2007";
Regex yearFind = new Regex(patternToFind);
// Я хочу, чтобы изменить какие-либо из этих значений x2008 где х кронштейн или подчеркивание первоначально в тексте. Я пытался использовать Regex.Replace(), но не могу понять, можно ли его применять.
Если все остальное не удается, я могу найти совпадения, используя MatchCollection, а затем отключить значение 2007 с 2008; Однако, я надеюсь на что-то более элегантное
MatchCollections matches = yearFind.Matches(" 2007 [2007 _2007");
foreach (Match match in matches){
//use match to find and replace value
}
Группировка определенно является решением. Это будет ближе к тому, что было предложено: string s = Regex.Replace (source, @ "([\ [_]) 2007", @ "$ 12008"); –
совершенно верно, непонимание - изменено – annakata