Risposte:
Assicurati che "Usa: espressioni regolari" sia selezionato nella finestra di dialogo Trova e sostituisci:
Si noti che per Visual Studio 2010 non funziona con l' estensione "Ricerca rapida" di Visual Studio Productivity Power Tools (a partire dall'aggiornamento di luglio 2011); invece, dovrai usare la finestra di dialogo Trova e sostituisci completa (usa Ctrl + Maiusc + H o Modifica -> Trova e sostituisci -> Sostituisci in file) e cambia l'ambito in "Documento corrente".
\)
quando sono attive le espressioni regolari ...
?
personaggio deve essere evaso in Regex perché significa che l'elemento precedente è facoltativo. Pertanto, il testo corretto "Trova cosa" è ~~\?
, con il punto interrogativo sfuggito da una barra rovesciata. La risposta che hai dato funziona sul testo di esempio perché troverà avidamente la seconda tilde e la consumerà, tuttavia se una singola tilde esiste anche nel testo ovunque, verrà erroneamente sostituita con una nuova riga.
Se imposti il flag "Usa espressioni regolari", allora \ n verrebbe tradotto. Ma tieni presente che dovresti modificare il termine di ricerca per renderlo compatibile con regexp. Nel tuo caso dovrebbe essere sfuggito in questo modo "\ ~ \ ~ \?" (senza virgolette).
Se si desidera evitare il fastidio di sfuggire ai caratteri speciali nella stringa di ricerca e sostituzione quando si utilizzano espressioni regolari, attenersi alla seguente procedura:
Si noti che anche se si desidera effettuare manualmente il pich delle corrispondenze per la prima ricerca e la sostituzione, è possibile utilizzare in modo sicuro "Sostituisci tutto" per gli ultimi tre passaggi.
Ad esempio, se si desidera sostituire questo:
public IFoo SomeField { get { return this.SomeField; } }
con quello:
public IFoo Foo { get { return this.MyFoo; } }
public IBar Bar { get { return this.MyBar; } }
Faresti le seguenti sostituzioni:
public IFoo SomeField { get { return this.SomeField; } }
→ XOXOXOXO
(regex off ).XOXOXOXO
→ XOXOXOXO\nHUHUHUHU
(regex on ).XOXOXOXO
→ public IFoo Foo { get { return this.MyFoo; } }
(regex off ).HUHUHUHU
→ public IFoo Bar { get { return this.MyBar; } }
(regex off ).È possibile utilizzare Ricerca multilinea e Sostituisci nella macro di Visual Studio che fornisce una buona interfaccia grafica per l'attività.