Visual Studio aide et remplace l’aide des expressions régulières

Je voudrais remplacer certaines instructions d’affectation comme:

int someNum = txtSomeNum.Text; int anotherNum = txtAnotherNum.Text; 

avec

 int someNum = Int32.Parse(txtSomeNum.Text); int anotherNum = Int32.Parse(txtAnotherNum.Text); 

Existe-t-il un bon moyen de le faire avec l’option Rechercher et remplacer de Visual Studio, en utilisant des expressions régulières? Je ne suis pas sûr de ce que serait l’expression régulière.

Je pense que dans Visual Studio, vous pouvez marquer des expressions avec des accolades {txtSomeNum.Text} . Ensuite, dans le remplacement, vous pouvez vous y référer avec \1 . Donc, la ligne de remplacement serait quelque chose comme Int32.Parse(\1) .


Mise à jour: via @ Timothy003

VS 11 supprime la syntaxe {} \ 1 et utilise () $ 1

C’est ce que je cherchais:

Rechercher: = {. * \. Texte}

Remplacez: = Int32.Parse (\ 1)

Un meilleur regex pour le problème initial serait

find expr .: {: i \ .Text}

remplacer expr .: Int32.Parse (\ 1)

Check out: http://msdn.microsoft.com/en-us/library/2k3te2cs%28v=vs.100%29.aspx

pour le guide définitif de regex dans VS.

J’ai récemment terminé le reformatage d’un projet C ++ d’un autre programmeur. Il avait complètement et arbitrairement entré, ou laissé de côté au hasard, des espaces et des tabulations, une indentation (ou non), et un niveau insensé de parenthèses nestedes, de sorte qu’aucun de nous habitué à coder des normes avant que je commence. Regex utilisé largement pour trouver et corriger les constructions anormales. En quelques heures, j’ai pu corriger des problèmes majeurs avec environ 125 000 lignes de code sans les examiner pour la plupart. Dans une recherche / remplacement unique, j’ai modifié plus de 22 000 lignes de code dans 125 fichiers, temps total inférieur à 10 secondes.

Constructions particulièrement utiles dans la regex:

: b + == un ou plusieurs blancs et / ou tabulations.

: i == correspond à un nom de variable ou à un mot clé de style C (par exemple, while, if, pick3, bNotImportant)

: Wh == un caractère blanc; pas seulement vide ou tab

: Sm == l’un des symboles arithmétiques (+, -,>, =, etc.)

: Pu == tout signe de ponctuation

\ n == saut de ligne (utile pour trouver où il a inséré 8 ou 10 lignes vides)

^ == correspond au début de la ligne ($ pour correspondre à la fin)

Bien qu’il aurait été intéressant de trouver un autre standard regex (duh), j’ai trouvé un certain nombre d’extensions MS extrêmement utiles pour rechercher une base de code, par exemple, ne pas avoir à définir des centaines de fois «[A- Za-z0-9] + “, en utilisant simplement”: i “.