Geniş kod tabanlarında belirli bir paterni veya metin parçasını bulmak, özellikle de büyük projelerde zaman zaman iğneyle kuyu kazmaya dönüşebilir. VS Code gibi modern bir geliştirme ortamında bile, standart arama fonksiyonları bazen yetersiz kalır. İşte tam bu noktada, “Search on steroids” yani regex (düzenli ifadeler) devreye girerek kod arama ve düzenleme deneyiminizi bir üst seviyeye taşır. Bu makale, VS Code’da regex’in temelinden ileri düzey kullanımına kadar her şeyi adım adım öğreterek, kodunuz üzerindeki kontrolünüzü nasıl artırabileceğinizi detaylı bir şekilde açıklayacaktır.
Her geliştirici, kariyerinde en az bir kez, yüzlerce veya binlerce satırlık bir kod dosyasında belirli bir deseni aramaya çalışmıştır. Belki tüm console.log() çağrılarını bulmak, belirli bir formatta tanımlanmış değişkenleri listelemek ya da eski bir fonksiyon adını yeniyle değiştirmek istiyorsunuzdur. Standart metin aramaları bu tür durumlarda çoğu zaman yetersiz kalır. Metnin tamamını eşleştirmek zorunda kalır, değişken kısımları göz ardı edemez ve dinamik paternleri yakalayamazsınız. Bu durum, özellikle büyük projelerde veya refaktöring süreçlerinde ciddi bir zaman kaybına ve hataya davetiye çıkarabilir.
Ancak endişelenmeyin, bu karmaşaya bir son vermek mümkün! Visual Studio Code, yerleşik regex desteği sayesinde bu tür zorlukların üstesinden gelmenizi sağlayan güçlü bir arama ve değiştirme motoruna sahiptir. Düzenli ifadeler, metin içerisinde belirli karakter dizilerini tanımlamak için kullanılan özel bir dildir. VS Code’un arama kutusuna entegre edildiğinde ise, sıradan metin aramalarını adeta steroidlerle besleyerek inanılmaz bir esneklik ve güç kazanmanızı sağlar. Bu sayede, yalnızca tam eşleşmeleri değil, aynı zamanda belirli bir yapıya sahip ancak içeriği değişebilen tüm kod parçalarını bulabilir, hatta otomatik olarak değiştirebilirsiniz. Bu kabiliyet, hem hata ayıklama süreçlerinizi hızlandırır hem de kod refaktöringini çok daha verimli hale getirir. Örneğin, belirli bir kurala uyan tüm CSS sınıflarını veya bir fonksiyonun tüm kullanım örneklerini bulmak artık birkaç saniyelik bir işlem haline gelir.
Bu makalede, VS Code’da regex kullanmanın inceliklerini öğrenerek, kod tabanınızdaki gizli hazineleri ortaya çıkarmanın ve geliştirme iş akışınızı kökten değiştirmenin yollarını keşfedeceksiniz. Sıfırdan başlayarak, temel regex operatörlerinden karmaşık senaryolara kadar adım adım ilerleyeceğiz. Böylece, hem yeni başlayanlar hem de deneyimli geliştiriciler için değerli bilgiler sunacak, her bölüm en az 300 kelime olacak şekilde zenginleştirilmiş içerikle karşılaşacaksınız. Hadi başlayalım ve kod arama yeteneklerinizi güçlendirelim!
Regex Nedir ve VS Code Ortamında Neden Vazgeçilmezdir?
Regex, yani Regular Expressions (Düzenli İfadeler), metin dizileri içinde belirli arama desenlerini tanımlamak için kullanılan güçlü bir mini programlama dilidir. Harfler, sayılar ve özel karakterlerin birleşiminden oluşan bu desenler, metin eşleştirmesinde, aramada ve metin manipülasyonunda inanılmaz bir esneklik sunar. Geliştiriciler için regex, sadece bir arama aracı olmaktan öte, verimli kod yönetimi ve hızlı refaktöring için vazgeçilmez bir beceridir. Örneğin, bir web uygulamasında tüm e-posta adreslerini doğrulamak, belirli bir tarih formatını bulmak veya HTML etiketlerinin içeriğini ayıklamak gibi görevler regex ile kolayca halledilebilir.
VS Code, modern bir geliştirme ortamı olarak, bu güçlü aracı doğrudan bünyesinde barındırır. Standart “Ara” (Ctrl+F) ve “Tüm Dosyalarda Ara” (Ctrl+Shift+F) özelliklerine entegre edilmiş regex motoru sayesinde, kod tabanınızda gerçekleştirebileceğiniz işlemlerin sınırları genişler. Neden mi vazgeçilmez? Çünkü kod, genellikle belirli ve tekrarlayan desenler içerir. Değişken adlandırma kuralları, fonksiyon tanımları, yorum blokları veya HTML yapıları gibi pek çok element, sabit bir metin yerine belirli bir desene uyar. Regex, bu değişken desenleri tanımlamanıza, bulmanıza ve hatta değiştirmenize olanak tanır. Bu, özellikle karmaşık projelerde veya başkalarının yazdığı kodlarda çalışırken paha biçilmez bir avantaj sağlar.
Regex’in Temel Yapı Taşları Nelerdir?
Regex’in gücü, karakter sınıfları, niceleyiciler ve çapa karakterleri gibi yapı taşlarından gelir. Örneğin, . (nokta) herhangi bir karakteri eşleştirirken, * bir önceki karakterin sıfır veya daha fazla tekrarını ifade eder. \d tüm rakamları, \w tüm kelime karakterlerini (harf, rakam, alt çizgi) temsil eder. VS Code’da bu sembolleri kullanarak, “numara:” ile başlayan ve ardından herhangi bir sayı dizisi gelen tüm satırları bulabilirsiniz. Örneğin, numara: \d+ paterni, “numara: 123”, “numara: 4567” gibi ifadeleri yakalayacaktır. Buradaki + niceleyici, bir önceki karakterin (bu durumda \d) bir veya daha fazla tekrarını arar. Ayrıca, belirli bir kelimenin başında veya sonunda yer alan desenleri yakalamak için ^ (satır başı) ve $ (satır sonu) gibi çapa karakterlerini kullanabilirsiniz. Örneğin, ^function, sadece satır başında “function” kelimesi olanları bulurken, error$, satır sonunda “error” kelimesi olanları eşleştirir. Bu temel yapı taşlarını birleştirerek, son derece spesifik ve güçlü arama desenleri oluşturabilirsiniz. VS Code’un arayüzünde bu desenleri test etmek ve sonuçları anında görmek, öğrenme sürecini de oldukça kolaylaştırır.
// Basit bir regex örneği: Tüm JavaScript console.log() çağrılarını bulma
console\.log\(.*?\);
Bu örnekte \., noktanın özel anlamını kaçmak için kullanılır (aksi takdirde herhangi bir karakteri eşleştirirdi). .*?, parantez içindeki herhangi bir karakter dizisini (.) sıfır veya daha fazla kez (*) eşleştirir, ancak en kısa eşleşmeyi (?) tercih eder. Bu sayede, birden fazla console.log çağrısı aynı satırda olsa bile sadece ilkini veya beklenen kısmını eşleştirir.
VS Code'da Regex Kullanımına İlk Adımlar ve Temel Desenler: Arama İşlevini Nasıl Güçlendirirsiniz?
Visual Studio Code'da regex kullanmaya başlamak oldukça basittir, ancak elde edeceğiniz verimlilik inanılmazdır. İlk adım, VS Code'un arama işlevine erişmektir. Klavyenizdeki Ctrl+F (Windows/Linux) veya Cmd+F (macOS) tuş kombinasyonunu kullanarak geçerli dosyada arama kutusunu açabilir, ya da Ctrl+Shift+F (Windows/Linux) veya Cmd+Shift+F (macOS) ile tüm çalışma alanında (çoklu dosya) arama yapabilirsiniz. Arama kutusu açıldığında, göreceğiniz en önemli butonlardan biri, üzerinde .* sembolü bulunan küçük bir ikondur. Bu ikon, regex modunu etkinleştirip devre dışı bırakmanızı sağlar. Regex modunu aktif hale getirdiğinizde, arama kutusuna yazdığınız metin artık sıradan bir metin olarak değil, bir düzenli ifade deseni olarak yorumlanacaktır. Bu, sıradan bir aramayı “steroidlere” dönüştüren sihirli dokunuştur.
Başlangıç için basit bir örnekle ilerleyelim. Diyelim ki bir projenizdeki tüm HTML etiketlerini bulmak istiyorsunuz. Normal bir aramayla yazmanız yeterli olabilir. Ancak, bu etiketlerin içinde
src veya alt gibi belirli özelliklerin olup olmadığını kontrol etmek isterseniz, regex devreye girer. Örneğin, deseni, içinde src özelliği olan tüm etiketlerini bulmanızı sağlar. Buradaki .*? ifadesi, herhangi bir karakteri (.) sıfır veya daha fazla kez (*) eşleştiren ancak bunu mümkün olan en kısa şekilde (? - tembel eşleşme) yapan bir niceleyicidir. Bu, bir etiketin içindeki diğer özelliklerin de doğru bir şekilde göz ardı edilmesini sağlar.
Yukarıdaki HTML kod bloğunda, regex deseni, her üç etiketini de başarıyla yakalayacaktır.
Temel Regex Desenlerini Anlamak: Hangi Karakterler Neyi İfade Eder?
Regex'in temelini oluşturan özel karakterleri ve onların anlamlarını kavramak, güçlü desenler oluşturmanın anahtarıdır. İşte en sık kullanılan temel regex desenlerinden bazıları:
| Desen | Açıklama | Örnek Eşleşme |
|---|---|---|
. |
Yeni satır karakteri hariç herhangi bir karakter. | a.c -> "abc", "axc", "a&c" |
\d |
Herhangi bir rakam (0-9). | \d{3} -> "123", "456" |
\D |
Rakam olmayan herhangi bir karakter. | \D -> "a", "!", " " |
\w |
Herhangi bir kelime karakteri (a-z, A-Z, 0-9, _). | \w+ -> "merhaba", "degisken_adi" |
\W |
Kelime karakteri olmayan herhangi bir karakter. | \W -> "$", "#", " " |
\s |
Herhangi bir boşluk karakteri (boşluk, tab, yeni satır vb.). | Hello\sWorld -> "Hello World" |
\S |
Boşluk karakteri olmayan herhangi bir karakter. | \S+ -> "NonStopText" |
* |
Bir önceki karakterin sıfır veya daha fazla tekrarı. | a*b -> "b", "ab", "aaab" |
+ |
Bir önceki karakterin bir veya daha fazla tekrarı. | a+b -> "ab", "aaab" (ama "b" değil) |
? |
Bir önceki karakterin sıfır veya bir tekrarı (isteğe bağlı). | colou?r -> "color", "colour" |
{n} |
Bir önceki karakterin tam n tekrarı. | \d{4} -> "1990", "2023" |
{n,} |
Bir önceki karakterin en az n tekrarı. | \d{3,} -> "123", "12345" |
{n,m} |
Bir önceki karakterin en az n, en fazla m tekrarı. | \d{1,3} -> "1", "12", "123" |
^ |
Satırın başlangıcı. | ^Hello -> "Hello World" (satır başında ise) |
$ |
Satırın sonu. | World$ -> "Hello World" (satır sonunda ise) |
[abc] |
Köşeli parantez içindeki karakterlerden herhangi biri. | [aeiou] -> "a", "e", "i", "o", "u" |
[^abc] |
Köşeli parantez içindeki karakterler dışındaki herhangi biri. | [^0-9] -> "a", "$", " " |
| |
Veya (alternasyon). | kedi|köpek -> "kedi", "köpek" |
( ) |
Gruplama ve yakalama. | (bir|iki) -> "bir", "iki" |
Bu temel desenleri birleştirerek, son derece spesifik arama ihtiyaçlarınızı karşılayabilirsiniz. Örneğin, ^function\s+\w+\(.*?\) paterni, bir satırın başında "function" kelimesiyle başlayan, ardından bir veya daha fazla boşluk, sonra bir kelime (fonksiyon adı), ardından parantez içinde sıfır veya daha fazla karakter içeren tüm fonksiyon tanımlamalarını yakalamak için kullanılabilir. VS Code'un anında geri bildirim özelliği sayesinde, deseninizi yazarken eşleşmeleri canlı olarak görebilirsiniz, bu da deneme-yanılma sürecini hızlandırır ve öğrenmeyi kolaylaştırır.
Gerçek Dünya Senaryoları ve İleri Düzey Regex: Karmaşık Kod Problemleri Nasıl Çözülür?
Regex'in gerçek gücü, karmaşık kod tabanlarında karşılaşılan zorlu problemleri çözme yeteneğinde ortaya çıkar. Basit metin eşleştirmelerinin ötesine geçerek, belirli kalıplara uyan dinamik kod yapılarını bulmak veya manipüle etmek, geliştiriciler için paha biçilmez bir beceridir. İşte bazı gerçek dünya senaryoları ve bu durumları regex ile nasıl ele alabileceğiniz:
Vaka Analizi 1: Tüm Konsol Çıktılarını Bulmak ve Kaldırmak
Geliştirme aşamasında sıkça kullanılan console.log(), console.warn() veya console.error() gibi ifadeler, canlı ortama çıkmadan önce temizlenmelidir. Yüzlerce dosyada bu çağrıları manuel olarak aramak hem yorucu hem de hataya açıktır. Regex ile bunu kolayca yapabilirsiniz:
console\.(log|warn|error|info)\(.*?\);
Bu paternin açıklaması şöyledir:
console\.: "console" kelimesini ve ardından bir noktayı eşleştirir. Nokta özel bir karakter olduğundan kaçış karakteri (\) ile belirtilir.(log|warn|error|info): Bir gruplama kullanarak, "log", "warn", "error" veya "info" kelimelerinden herhangi birini eşleştirir. Bu, farklı konsol metotlarını tek bir desende yakalamanızı sağlar.\(.*?\): Bir parantez açılışını (\(- kaçış karakteri ile), ardından herhangi bir karakteri (.) sıfır veya daha fazla kez (*) en kısa yoldan (?- tembel eşleşme) ve bir parantez kapanışını (\)- kaçış karakteri ile) eşleştirir.;: İfade sonundaki noktalı virgülü eşleştirir.
Bu deseni kullanarak tüm konsol çıktılarını bulduktan sonra, "Değiştir" (Replace) alanını boş bırakarak tek seferde silebilirsiniz. Bu, binlerce satırlık kodda dahi saniyeler içinde temizlik yapmanızı sağlar.
Vaka Analizi 2: Özel HTML Özniteliklerini veya Etiketlerini Bulmak
Bir projenizde, belirli bir kütüphane veya framework tarafından kullanılan özel bir data- özniteliğine sahip tüm HTML elementlerini bulmanız gerekebilir. Örneğin, data-test-id özniteliğine sahip her elementi bulmak için:
<(\w+).*?data-test-id=".*?".*?>
Bu regex deseni:
<(\w+): Herhangi bir HTML etiketini (örneğindiv,span) yakalar ve etiket adını bir gruba alır (\w+)..*?: Etiket adındandata-test-idözniteliğine kadar olan kısmı tembelce eşleştirir.data-test-id=".*?": Tam olarakdata-test-id="metnini ve ardından tırnak içindeki herhangi bir değeri yakalar..*?>: Kalan öznitelikleri ve etiketin kapanışını eşleştirir.
Bu sayede, sadece data-test-id özniteliğine sahip elementleri değil, aynı zamanda hangi türde elementler olduğunu da kolayca belirleyebilirsiniz. İleri düzeyde, yakalama gruplarını (()) kullanarak bu elementlerin sadece etiket adını veya data-test-id değerini alıp değiştirebilirsiniz.
(birinci_deger), (ikinci_deger) şeklinde eşleşen bir deseni $2, $1 ile değiştirmek, değerlerin yerini değiştirebilirsiniz. Bu özellik, büyük veri dönüşümlerinde hayat kurtarıcıdır.
Greedy (Açgözlü) ve Lazy (Tembel) Eşleşmeler
Regex'te niceleyicilerin (*, +, ?, {}) varsayılan davranışı "açgözlü"dür (greedy). Yani mümkün olan en uzun eşleşmeyi yapmaya çalışırlar. Ancak çoğu zaman en kısa eşleşmeyi istersiniz. İşte bu durumda "tembel" eşleşmeyi (lazy) kullanırız. Niceleyicinin sonuna bir ? ekleyerek bu davranışı değiştirebilirsiniz (örneğin .*?, +?, ??). Yukarıdaki örneklerde de gördüğünüz gibi, HTML etiketlerinin içinde veya fonksiyon parantezlerinin içinde sadece ilgili kısmı eşleştirmek için tembel eşleşmeler kritik öneme sahiptir.
Bu senaryolar, regex'in sadece basit metin aramalarından çok daha fazlasını yapabileceğini göstermektedir. Kodunuzdaki gizli desenleri ortaya çıkarmak, hata ayıklamak ve büyük çaplı değişiklikleri güvenle uygulamak için bu ileri düzey teknikler vazgeçilmezdir.
VS Code'da Regex ile Değiştirme İşlemleri ve Kod Refaktöringi: Otomasyonla Verimliliği Artırın
VS Code'da regex kullanmanın en güçlü yönlerinden biri, sadece arama yapmakla kalmayıp, bulunan desenleri otomatik olarak değiştirebilmesidir. Bu özellik, büyük projelerde kod refaktöringi, stil tutarlılığını sağlama veya API değişikliklerine uyum sağlama gibi görevlerde inanılmaz bir zaman tasarrufu sağlar. Arama kutusunun altındaki "Değiştir" (Replace) alanını açarak bu gücü kullanmaya başlayabilirsiniz.
Yakalama Gruplarını Kullanarak Akıllı Değişiklikler Yapmak
Regex'te parantez () ile oluşturduğunuz yakalama grupları, değiştirme işleminde altın değerindedir. Eşleşen bir desenin farklı kısımlarını ayrı ayrı yakalayabilir ve değiştirme string'inde bunlara $1, $2 gibi referanslarla ulaşabilirsiniz. Bu, statik bir metinle değiştirmek yerine, dinamik ve bağlama duyarlı değişiklikler yapmanızı sağlar.
Vaka Analizi 3: CSS Sınıf Adlarını Standardize Etmek
Diyelim ki bir projenizdeki tüm CSS sınıf adları component- önekiyle başlıyor, ancak yeni bir standartla bu öneki module- olarak değiştirmek istiyorsunuz. Bu işlemi manuel olarak yapmak büyük bir zaman kaybı olacaktır. Regex ile bunu kolayca halledebilirsiniz:
// Aranacak Desen
(component-)(.*?)(?:"|'|\s)
// Değiştirme Deseni
module-$2$3
Bu deseni açıklayalım:
(component-): "component-" kelimesini yakalar ve bunu birinci grup ($1) olarak atar.(.*?): "component-" sonrasında gelen herhangi bir karakter dizisini (sınıf adının geri kalanı) yakalar ve ikinci grup ($2) olarak atar.(?:"|'|\s): Bu bir yakalama yapmayan gruptur (non-capturing group(?:...)). Amacı, sınıf adından sonra gelen bir tırnak işaretini (tek veya çift) veya bir boşluk karakterini eşleştirmektir. Bu karakteri eşleştiririz ki(.*?)grubu sadece sınıf adını yakalasın, ancak değiştirmek istediğimiz kısma dahil etmeyiz. Bu, eşleşmenin doğru sınırlar içinde kalmasını sağlar. Eğer bu kısmı yakalasaydık$3olarak değiştirmemiz gerekirdi.
Değiştirme alanında module-$2 kullanarak, component- önekini module- ile değiştirirken, orijinal sınıf adının geri kalanını ($2 ile) koruruz. Örneğin, component-button -> module-button olacaktır. Bu tür bir otomasyon, büyük refaktöring görevlerinde hata oranını düşürür ve tutarlılığı artırır.
Metin
Yukarıdaki kodu regex ile değiştirdikten sonra şu hale gelecektir:
Metin
Mobil Uyumlu HTML Aramaları ve Düzenlemeler
Modern web geliştirmede mobil uyumluluk (responsive design) kritik öneme sahiptir. CSS dosyalarınızda belirli medya sorgularını (media queries) bulmak veya düzenlemek için regex'ten faydalanabilirsiniz. Örneğin, max-width değeri 768px'ten küçük olan tüm medya sorgularını bulmak isteyebilirsiniz:
// Aranacak Desen: Belirli bir max-width değerini içeren medya sorgularını bulma
@media\s+screen\s+and\s+\(max-width:\s+(?:[1-6]\d{2}|7[0-5]\d|76[0-7])px\)
Bu regex, 768px'ten daha küçük max-width değerlerini hedef alır. Buradaki (?:[1-6]\d{2}|7[0-5]\d|76[0-7]) karmaşık kısmı, 100-699 arası ([1-6]\d{2}), 700-759 arası (7[0-5]\d) ve 760-767 arası (76[0-7]) sayıları eşleştirmek için kullanılır. Bu, spesifik arama ihtiyaçlarınız için ne kadar detaylı regex yazabileceğinizi gösterir. Mobil uyumlu kodlamanın bir parçası olarak, bu tür regex kullanımları, belirli ekran boyutları için özelleştirilmiş stilleri hızlıca denetlemenize veya değiştirmenize olanak tanır.
Sonuç ve Sıkça Sorulan Sorular (SSS): Regex Bilginizi Pekiştirin
VS Code'da düzenli ifadeleri (regex) kullanmak, sıradan kod arama ve değiştirme işlemlerini adeta süper güçlerle donatır. Bu makale boyunca, regex'in temel kavramlarından başlayarak, VS Code entegrasyonuna, temel desenlerden gerçek dünya senaryolarına ve ileri düzey değiştirme işlemlerine kadar birçok konuyu ele aldık. Geliştirme sürecinizde karşılaştığınız karmaşık metin işleme, kod refaktöringi ve hata ayıklama görevlerinde regex'in size ne kadar zaman kazandırabileceğini ve iş akışınızı ne kadar kolaylaştırabileceğini artık biliyorsunuz. Unutmayın, regex bir kez öğrenildiğinde sadece VS Code'da değil, birçok farklı programlama dilinde ve araçta kullanabileceğiniz evrensel bir beceridir.
Regex öğrenmek pratikle pekişen bir süreçtir. Başlangıçta karmaşık gelebilir, ancak küçük adımlarla başlayıp sürekli deneme yaparak bu güçlü araca hakim olabilirsiniz. VS Code'un anlık eşleşme gösterimi, bu öğrenme sürecini oldukça interaktif ve eğlenceli hale getirir. Kod tabanınızda karşılaştığınız her türlü desen eşleştirme ihtiyacında regex'i düşünmek, problem çözme yeteneğinizi geliştirecek ve sizi daha verimli bir geliştirici yapacaktır. Daha da iyisi, mobil uyumlu HTML geliştirirken medya sorgularını bulma veya değiştirme gibi spesifik görevlerde dahi regex'in ne kadar etkili olduğunu gördük. Artık arama kutunuz sadece bir metin bulucu değil, adeta bir kod analisti ve dönüştürücüsüdür.
Sıkça Sorulan Sorular (SSS)
1. Regex öğrenmek neden bu kadar önemli?
Regex, karmaşık metin desenlerini tanımlama, arama, ayıklama ve değiştirme yeteneği sunar. Bu, kod refaktöringi, log analizi, veri doğrulama ve hatta sistem yönetimi gibi birçok alanda zaman ve emek tasarrufu sağlar. Programcılar, sistem yöneticileri ve veri analistleri için vazgeçilmez bir araçtır.
2. VS Code'da regex modunu nasıl etkinleştiririm?
VS Code'da arama kutusunu (Ctrl+F veya Ctrl+Shift+F) açtıktan sonra, arama kutusunun sağında bulunan .* ikonuna tıklayarak regex modunu etkinleştirebilirsiniz. İkon vurgulandığında, regex modu aktiftir.
3. Regex desenlerim çok yavaş çalışıyor, ne yapmalıyım?
Yavaş çalışan regex desenleri genellikle "geri izleme" (backtracking) problemlerinden kaynaklanır. Açgözlü (greedy) niceleyiciler yerine tembel (lazy) niceleyiciler (örneğin .*? yerine .* yerine .*?), gereksiz gruplamalar ve aşırı karmaşık desenlerden kaçınarak performansı artırabilirsiniz. Ayrıca, spesifik karakter sınıfları (\d yerine .) kullanmak da performansı iyileştirebilir.
4. Regex ile değiştirme yaparken yakalanan grupları nasıl kullanırım?
Değiştirme alanında, regex deseninizdeki parantez () ile yakaladığınız gruplara $1, $2, $3 gibi referanslarla ulaşabilirsiniz. $0 veya $& ise tüm eşleşen metni ifade eder.
5. VS Code'da belirli dosya türlerinde mi arama yapabilirim?
Evet, VS Code'un arama panelinde (Ctrl+Shift+F), "Dosyaları Dahil Et" ve "Dosyaları Hariç Tut" alanları bulunur. Bu alanlara dosya uzantılarını (örneğin *.js, *.ts) veya klasör yollarını yazarak aramanızı belirli dosya türleri veya konumlarla sınırlayabilirsiniz. Bu, regex aramalarınızın kapsamını daraltarak daha hedefe yönelik sonuçlar elde etmenizi sağlar.