Réponses:
Assurez-vous que "Utiliser: Expressions régulières" est sélectionné dans la boîte de dialogue Rechercher et remplacer:
Notez que pour Visual Studio 2010, cela ne fonctionne pas dans l' extension «Recherche rapide» de Visual Studio Productivity Power Tools (à partir de la mise à jour de juillet 2011); à la place, vous devrez utiliser la boîte de dialogue Rechercher et remplacer complète (utilisez Ctrl + Maj + H, ou Édition -> Rechercher et remplacer -> Remplacer dans les fichiers), et changer la portée en "Document actuel".
\)
lorsque les expressions régulières sont
?
caractère doit être échappé dans Regex car cela signifie que l'élément précédent est facultatif. Ainsi, le texte correct "Find what" est ~~\?
, avec le point d'interrogation échappé par une barre oblique inverse. La réponse que vous avez donnée fonctionne sur l'exemple de texte car il trouvera avidement le deuxième tilde et le consommera, mais si un seul tilde existe également n'importe où dans le texte, il sera également incorrectement remplacé par une nouvelle ligne.
Si vous définissez le drapeau "Utiliser des expressions régulières", \ n sera traduit. Mais gardez à l'esprit que vous devrez modifier votre terme de recherche pour qu'il soit compatible avec les expressions rationnelles. Dans votre cas, il devrait être échappé comme ceci "\ ~ \ ~ \?" (pas de guillemets).
Si vous souhaitez éviter d'avoir à échapper les caractères spéciaux de votre chaîne de recherche et de remplacement lors de l'utilisation d'expressions régulières, procédez comme suit:
Notez que même si vous souhaitez sélectionner manuellement les correspondances pour la première recherche et remplacer, vous pouvez utiliser en toute sécurité «remplacer tout» pour les trois dernières étapes.
Par exemple, si vous souhaitez remplacer ceci:
public IFoo SomeField { get { return this.SomeField; } }
avec ça:
public IFoo Foo { get { return this.MyFoo; } }
public IBar Bar { get { return this.MyBar; } }
Vous feriez les substitutions suivantes:
public IFoo SomeField { get { return this.SomeField; } }
→ XOXOXOXO
(regex désactivé ).XOXOXOXO
→ XOXOXOXO\nHUHUHUHU
(regex sur ).XOXOXOXO
→ public IFoo Foo { get { return this.MyFoo; } }
(regex désactivé ).HUHUHUHU
→ public IFoo Bar { get { return this.MyBar; } }
(regex désactivé ).Vous pouvez utiliser la recherche et le remplacement multilignes dans la macro Visual Studio qui fournit une interface graphique agréable pour la tâche.