Dans Visual Studio, lorsque je recherche dans une sélection, je souhaite remplacer la première instance (ou la deuxième, la troisième, etc.) d'une correspondance par ligne à l'aide d'expressions régulières. Comment je ferais ça?
Rechercher et remplacer
foo1 = foo1;
foo2 = foo2;
...
foo20 = foo20;
dans ce qui suit.
foo1 = bar1;
foo2 = bar2;
...
foo20 = bar20;
Dans Visual Studio 2010 et versions antérieures, utilisez des expressions régulières avec des références en arrière
Les expressions régulières de Visual Studio sont complètement différentes de ce que j'ai appris. Il m'a fallu du temps pour trouver la bonne réponse.
Rechercher
{foo}{:d+} = \1\2
Remplacer par
\1\2 = bar\2
Les références arrières sont effectuées par tagging
avec des accolades {foo}
. :d+
est le même pour \d+
Dans Visual Studio 2012, les groupes de capture et les références arrière sont utilisés comme en C #. Vous pouvez les capturer avec des parenthèses communes et les renvoyer avec 0 $, 1 $, etc. J'espère que cela vous aidera!
Notez que la syntaxe $1
est utilisée pour find-replace, mais \1
pour les références arrières dans la chaîne de recherche.
Je peux aussi le faire sans expression régulière:
Remplacez = foo
par = bar
.
Si une expression régulière est nécessaire, vous pouvez utiliser:
foo(\d*) = foo(\d*);
Remplacer par:
foo\1 = bar\2;
Le voici, tapez exactement comme il est affiché ici
Rechercher: (\w+\d+\s*=\s*)[^\d]+(\d+);
Remplacer: $1bar$2;
En savoir plus: Utilisation d'expressions régulières dans Visual Studio