Mieux regex pour le problème d'origine serait
find expr .: {: i \ .Text}
remplacer expr .: Int32.Parse (\ 1)
Départ: http://msdn.microsoft.com/en-us/library/2k3te2cs%28v=vs.100%29.aspx
pour le guide définitif de regex en VS.
J'ai récemment terminé de reformater le projet C++ d'un autre programmeur. Il avait complètement et arbitrairement entré, ou omis au hasard, des espaces et des tabulations, des indentations (ou pas), et un niveau d'imbrication entre parenthèses, de sorte qu'aucun d'entre nous utilisé pour coder les normes de n'importe quel type ne pouvait même commencer à lire le code avant de commencer. Utilisé regex extensivement pour trouver et corriger des constructions anormales. En quelques heures, j'ai pu corriger des problèmes majeurs dans environ 125 000 lignes de code sans vraiment regarder la plupart d'entre eux. Dans une seule recherche/remplacement, j'ai changé plus de 22 000 lignes de code dans 125 fichiers, temps total inférieur à 10 secondes.
constructions particulièrement utiles dans l'expression rationnelle:
: B + == un ou plusieurs espaces et/ou des languettes.
: i == correspond à un nom de variable C style ou un mot clé (à savoir tout, si, pick3, bNotImportant)
: Wh == espaces blancs ombles .; pas simplement vierge ou onglet
: Sm == l'un des symboles arithmétiques (+, -,>, =, etc.)
: Pu == toute marque de ponctuation
\ n == saut de ligne (utile pour trouver où il avait inséré 8 ou 10 lignes blanches)
^== Début des matchs de la ligne ($ à Alors qu'il aurait été agréable de faire correspondre une autre norme regex (duh), j'ai trouvé un certain nombre d'extensions MS extrêmement utile pour la recherche d'une base de code, comme ne pas avoir à définir des centaines "d'identificateur" de fois que "[A-Za-z0-9] +", en utilisant simplement ": i".
Je sais que c'est vieux ... mais pourquoi diable Microsoft doit-il tout faire de son propre chef. Tous les autres IDE et logiciels que j'ai jamais utilisés utilisent() pour marquer les expressions et $ 1 pour y faire référence. Microsoft devrait appeler ces expressions irrégulières – MikeMurko
@MikeMurko VS 11 supprime la syntaxe {} \ 1 et utilise() $ 1. Yay! – Timothy003
Mieux vaut tard que jamais;) –