J'essaie de trouver la meilleure méthode pour trouver un motif spécifique, puis remplace la fin du motif. Voici un exemple rapide (en C#):Regex - ne remplace que la dernière partie d'une expression
// Trouvez une valeur de l'année en commençant par un support ou souligner
string patternToFind = "[[_]2007";
Regex yearFind = new Regex(patternToFind);
// Je veux modifier ces valeurs x2008 où x est le support ou souligner à l'origine dans le texte. J'essayais d'utiliser Regex.Replace(), mais je n'arrive pas à savoir s'il peut être appliqué.
Si tout le reste échoue, je peux trouver des correspondances à l'aide de MatchCollection, puis remplacer la valeur 2007 par 2008; Cependant, je suis en espérant quelque chose de plus élégant
MatchCollections matches = yearFind.Matches(" 2007 [2007 _2007");
foreach (Match match in matches){
//use match to find and replace value
}
Le regroupement est définitivement la solution. Cela sera plus proche de ce qui a été demandé: chaîne s = Regex.Replace (source, @ "([\ [_]) 2007", @ "$ 12008"); –
tout à fait raison, malentendu - modifié – annakata