Normal İfadelerle Visual Studio Kod Arama ve Değiştirme


116

Ben her örneği değiştirmek için Visual Studio Kanununda kullanmak "Ara ve Değiştir" istediğiniz <h1>content</h1>için #### contentRegular Expression kullanarak bir belge içinde.

Bunu nasıl başarabilirim?


2
Bir normal ifade bul ve değiştir olmak zorunda mı? Sadece yerini Could <h4>ile #### ve daha sonra değiştirmek </h4>ile ''?
Brett East

Yanıtlar:


190

Öyleyse amacınız aramak ve değiştirmek mi?
Resmi Visual Studio'nun, klavye shotcuts pdf göre, basabilir Ctrl + Hüzerinde , Windows ve Linux veya ⌥⌘Füzerinde Mac arama yapabilmek ve aracı yerine:

Görsel stüdyo kodunun arama ve değiştirme sekmesi Kodu devre dışı bırakmak istiyorsanız, sadece <h1>arama yapıp yerine koymanız gerekir ####.

Bunun yerine bu regex kullanmak istiyorsanız, simgenin bunu sağlayabilir: . *ve normal ifadeler kullanabilirsiniz: <h1>(.+?)<\/h1>ve değiştirin: #### $1.

Ve @tpartee önerdi, burada daha fazla bilgi edinmek istiyorsanız, Visual Studio'nun motoru hakkında bazı bilgiler verilmiştir:


3
Visual Studio regex'i diğer tüm uygulamalar gibi işleyecektir, tek fark, regex'in 'derleyicisi' olan sözde regex çeşnileri ve ifadeyi nasıl ele alacağıdır. Genellikle, bu gibi cevaplarda göz ardı edilir çünkü çoğu oldukça benzerdir, ancak yine de kontrol etmek isteyenler için cevaba ekledim
Mateus

2
Soru Visual Studio Code hakkındadır ve bu yanıt Visual Studio hakkındadır.
Dustin Wyatt

1
veya Tuş Bağlantılarınızı değiştirin. Örnek: IDEA Keybindings ( marketplace.visualstudio.com/… ) ile şunu kullanabilirsiniz: Ctrl + Shift + R Yolda Değiştir veya Yolda Bul için: Ctrl + Shift + F
SL5net

6

Yeni başlayanlar için, kabul edilen cevaba eklemek istedim, çünkü birkaç incelik benim için belirsizdi:

Metni bulmak ve değiştirmek için (tamamen değiştirmemek),

  1. "Bul" adımında, normal ifadeyi "yakalama grupları" ile kullanabilirsiniz, örneğin aramanız la la la (group1) blah blah (group2)parantez kullanarak olabilir .

  2. Ve sonra "Değiştir" adımında, yakalama gruplarına $1, $2vb. Aracılığıyla başvurabilirsiniz .

Yani, örneğin, bu durumda biz olabilir bulmak sadece alakalı metin <h1>.+?<\/h1>(hayır parantez), ancak parantez içinde koyarak <h1>(.+?)<\/h1>bize kadar aralarında alt maçın bakın sağlar $1içinde yerini adım. Güzel!

notlar

  • Bul Widget'ında Regex'i açmak için .*simgeye tıklayın veyaCmd/Ctrl Alt R

  • $0 tüm maçı ifade eder

  • Son olarak, orijinal soru, değiştirme işleminin "bir belge içinde" olması gerektiğini belirtir, böylece daha büyük bir kullanıcı arayüzü açan "Ara" yerine, açık belge için yerel olan "Bulma Aracı" ( Cmdveya Ctrl+ F) kullanabilirsiniz. ve projedeki tüm dosyalara bakar.


0

Bunun eşleşmesi için Normal İfade Kullan ile Büyük / Küçük Harf Eşleştir'in seçildiğinden emin olun. [AZ] * Büyük / küçük harf eşleşmesi seçilmezse, bu tüm harflerle eşleşir.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.