Yanıtlar:
Bul ve Değiştir iletişim kutusunda "Kullan: Normal ifadeler" öğesinin seçili olduğundan emin olun:
Visual Studio 2010 için, bunun Visual Studio Productivity Power Tools'un "Hızlı Bul" uzantısında (Temmuz 2011 güncellemesinden itibaren) çalışmadığını unutmayın ; bunun yerine, tam Bul ve Değiştir iletişim kutusunu kullanmanız (Ctrl + Shift + H veya Düzenle -> Bul ve Değiştir -> Dosyalarda Değiştir) kullanmanız ve kapsamı "Geçerli Belge" olarak değiştirmeniz gerekir.
\)
düzenli ifadeler açıkken kullanmayı unutmayınız ...
?
Önceki eleman isteğe bağlı olduğunu belirtir, çünkü karakter Regex kaçan gerekmektedir. Böylece, doğru "metni bul" metni, ~~\?
soru işareti ters eğik çizgiden kaçtı. Verdiğiniz cevap örnek metin üzerinde çalışır, çünkü ikinci tilde açgözlülükle bulur ve onu tüketir, ancak metinde herhangi bir yerde tek bir tilde varsa, yanlış bir şekilde yeni satırla değiştirilir.
"Normal ifadeleri kullan" bayrağını ayarlarsanız \ n çevrilir. Ancak, regexp dostu olmak için arama teriminizi değiştirmeniz gerektiğini unutmayın. Sizin durumunuzda bu "\ ~ \ ~ \?" (alıntı yok).
Normal ifadeler kullanırken arama ve değiştirme dizenizdeki özel karakterlerden kaçma zorluğundan kaçınmak istiyorsanız, aşağıdaki adımları uygulayın:
İlk arama ve değiştirme için eşleşmeleri manuel olarak seçmek isteseniz bile, son üç adımda "tümünü değiştir" i güvenle kullanabilirsiniz.
Örneğin, bunu değiştirmek istiyorsanız:
public IFoo SomeField { get { return this.SomeField; } }
Bununla:
public IFoo Foo { get { return this.MyFoo; } }
public IBar Bar { get { return this.MyBar; } }
Aşağıdaki ikameleri yapardınız:
public IFoo SomeField { get { return this.SomeField; } }
→ XOXOXOXO
(normal ifade kapalı ).XOXOXOXO
→ XOXOXOXO\nHUHUHUHU
(normal ifade açık ).XOXOXOXO
→ public IFoo Foo { get { return this.MyFoo; } }
(normal ifade kapalı ).HUHUHUHU
→ public IFoo Bar { get { return this.MyBar; } }
(normal ifade kapalı ).Görev için güzel bir GUI sağlayan Visual Studio makrosunda Çok Satırlı Arama ve Değiştirme kullanabilirsiniz .