{"id":34136,"date":"2025-11-11T21:31:12","date_gmt":"2025-11-11T18:31:12","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/vs-codeda-regex-ile-guclu-arama-kodunuzu-hizlandirin\/"},"modified":"2025-11-11T21:31:12","modified_gmt":"2025-11-11T18:31:12","slug":"vs-codeda-regex-ile-guclu-arama-kodunuzu-hizlandirin","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/vs-codeda-regex-ile-guclu-arama-kodunuzu-hizlandirin\/","title":{"rendered":"VS Code&#8217;da Regex ile G\u00fc\u00e7l\u00fc Arama: Kodunuzu H\u0131zland\u0131r\u0131n"},"content":{"rendered":"<p><body><\/p>\n<p>Geni\u015f kod tabanlar\u0131nda belirli bir paterni veya metin par\u00e7as\u0131n\u0131 bulmak, \u00f6zellikle de b\u00fcy\u00fck projelerde zaman zaman i\u011fneyle kuyu kazmaya d\u00f6n\u00fc\u015febilir. VS Code gibi modern bir geli\u015ftirme ortam\u0131nda bile, standart arama fonksiyonlar\u0131 bazen yetersiz kal\u0131r. \u0130\u015fte tam bu noktada, \u201cSearch on steroids\u201d yani regex (d\u00fczenli ifadeler) devreye girerek kod arama ve d\u00fczenleme deneyiminizi bir \u00fcst seviyeye ta\u015f\u0131r. Bu makale, VS Code&#8217;da regex&#8217;in temelinden ileri d\u00fczey kullan\u0131m\u0131na kadar her \u015feyi ad\u0131m ad\u0131m \u00f6\u011freterek, kodunuz \u00fczerindeki kontrol\u00fcn\u00fcz\u00fc nas\u0131l art\u0131rabilece\u011finizi detayl\u0131 bir \u015fekilde a\u00e7\u0131klayacakt\u0131r.<\/p>\n<p>Her geli\u015ftirici, kariyerinde en az bir kez, y\u00fczlerce veya binlerce sat\u0131rl\u0131k bir kod dosyas\u0131nda belirli bir deseni aramaya \u00e7al\u0131\u015fm\u0131\u015ft\u0131r. Belki t\u00fcm <code>console.log()<\/code> \u00e7a\u011fr\u0131lar\u0131n\u0131 bulmak, belirli bir formatta tan\u0131mlanm\u0131\u015f de\u011fi\u015fkenleri listelemek ya da eski bir fonksiyon ad\u0131n\u0131 yeniyle de\u011fi\u015ftirmek istiyorsunuzdur. Standart metin aramalar\u0131 bu t\u00fcr durumlarda \u00e7o\u011fu zaman yetersiz kal\u0131r. Metnin tamam\u0131n\u0131 e\u015fle\u015ftirmek zorunda kal\u0131r, de\u011fi\u015fken k\u0131s\u0131mlar\u0131 g\u00f6z ard\u0131 edemez ve dinamik paternleri yakalayamazs\u0131n\u0131z. Bu durum, \u00f6zellikle b\u00fcy\u00fck projelerde veya refakt\u00f6ring s\u00fcre\u00e7lerinde ciddi bir zaman kayb\u0131na ve hataya davetiye \u00e7\u0131karabilir.<\/p>\n<p>Ancak endi\u015felenmeyin, bu karma\u015faya bir son vermek m\u00fcmk\u00fcn! Visual Studio Code, yerle\u015fik regex deste\u011fi sayesinde bu t\u00fcr zorluklar\u0131n \u00fcstesinden gelmenizi sa\u011flayan g\u00fc\u00e7l\u00fc bir arama ve de\u011fi\u015ftirme motoruna sahiptir. D\u00fczenli ifadeler, metin i\u00e7erisinde belirli karakter dizilerini tan\u0131mlamak i\u00e7in kullan\u0131lan \u00f6zel bir dildir. VS Code&#8217;un arama kutusuna entegre edildi\u011finde ise, s\u0131radan metin aramalar\u0131n\u0131 adeta steroidlerle besleyerek inan\u0131lmaz bir esneklik ve g\u00fc\u00e7 kazanman\u0131z\u0131 sa\u011flar. Bu sayede, yaln\u0131zca tam e\u015fle\u015fmeleri de\u011fil, ayn\u0131 zamanda belirli bir yap\u0131ya sahip ancak i\u00e7eri\u011fi de\u011fi\u015febilen t\u00fcm kod par\u00e7alar\u0131n\u0131 bulabilir, hatta otomatik olarak de\u011fi\u015ftirebilirsiniz. Bu kabiliyet, hem hata ay\u0131klama s\u00fcre\u00e7lerinizi h\u0131zland\u0131r\u0131r hem de kod refakt\u00f6ringini \u00e7ok daha verimli hale getirir. \u00d6rne\u011fin, belirli bir kurala uyan t\u00fcm CSS s\u0131n\u0131flar\u0131n\u0131 veya bir fonksiyonun t\u00fcm kullan\u0131m \u00f6rneklerini bulmak art\u0131k birka\u00e7 saniyelik bir i\u015flem haline gelir.<\/p>\n<p>Bu makalede, VS Code&#8217;da regex kullanman\u0131n inceliklerini \u00f6\u011frenerek, kod taban\u0131n\u0131zdaki gizli hazineleri ortaya \u00e7\u0131karman\u0131n ve geli\u015ftirme i\u015f ak\u0131\u015f\u0131n\u0131z\u0131 k\u00f6kten de\u011fi\u015ftirmenin yollar\u0131n\u0131 ke\u015ffedeceksiniz. S\u0131f\u0131rdan ba\u015flayarak, temel regex operat\u00f6rlerinden karma\u015f\u0131k senaryolara kadar ad\u0131m ad\u0131m ilerleyece\u011fiz. B\u00f6ylece, hem yeni ba\u015flayanlar hem de deneyimli geli\u015ftiriciler i\u00e7in de\u011ferli bilgiler sunacak, her b\u00f6l\u00fcm en az 300 kelime olacak \u015fekilde zenginle\u015ftirilmi\u015f i\u00e7erikle kar\u015f\u0131la\u015facaks\u0131n\u0131z. Hadi ba\u015flayal\u0131m ve kod arama yeteneklerinizi g\u00fc\u00e7lendirelim!<\/p>\n<h2>Regex Nedir ve VS Code Ortam\u0131nda Neden Vazge\u00e7ilmezdir?<\/h2>\n<p>Regex, yani Regular Expressions (D\u00fczenli \u0130fadeler), metin dizileri i\u00e7inde belirli arama desenlerini tan\u0131mlamak i\u00e7in kullan\u0131lan g\u00fc\u00e7l\u00fc bir mini programlama dilidir. Harfler, say\u0131lar ve \u00f6zel karakterlerin birle\u015fiminden olu\u015fan bu desenler, metin e\u015fle\u015ftirmesinde, aramada ve metin manip\u00fclasyonunda inan\u0131lmaz bir esneklik sunar. Geli\u015ftiriciler i\u00e7in regex, sadece bir arama arac\u0131 olmaktan \u00f6te, verimli kod y\u00f6netimi ve h\u0131zl\u0131 refakt\u00f6ring i\u00e7in vazge\u00e7ilmez bir beceridir. \u00d6rne\u011fin, bir web uygulamas\u0131nda t\u00fcm e-posta adreslerini do\u011frulamak, belirli bir tarih format\u0131n\u0131 bulmak veya HTML etiketlerinin i\u00e7eri\u011fini ay\u0131klamak gibi g\u00f6revler regex ile kolayca halledilebilir.<\/p>\n<p>VS Code, modern bir geli\u015ftirme ortam\u0131 olarak, bu g\u00fc\u00e7l\u00fc arac\u0131 do\u011frudan b\u00fcnyesinde bar\u0131nd\u0131r\u0131r. Standart &#8220;Ara&#8221; (Ctrl+F) ve &#8220;T\u00fcm Dosyalarda Ara&#8221; (Ctrl+Shift+F) \u00f6zelliklerine entegre edilmi\u015f regex motoru sayesinde, kod taban\u0131n\u0131zda ger\u00e7ekle\u015ftirebilece\u011finiz i\u015flemlerin s\u0131n\u0131rlar\u0131 geni\u015fler. Neden mi vazge\u00e7ilmez? \u00c7\u00fcnk\u00fc kod, genellikle belirli ve tekrarlayan desenler i\u00e7erir. De\u011fi\u015fken adland\u0131rma kurallar\u0131, fonksiyon tan\u0131mlar\u0131, yorum bloklar\u0131 veya HTML yap\u0131lar\u0131 gibi pek \u00e7ok element, sabit bir metin yerine belirli bir desene uyar. Regex, bu de\u011fi\u015fken desenleri tan\u0131mlaman\u0131za, bulman\u0131za ve hatta de\u011fi\u015ftirmenize olanak tan\u0131r. Bu, \u00f6zellikle karma\u015f\u0131k projelerde veya ba\u015fkalar\u0131n\u0131n yazd\u0131\u011f\u0131 kodlarda \u00e7al\u0131\u015f\u0131rken paha bi\u00e7ilmez bir avantaj sa\u011flar.<\/p>\n<div class=\"uzman-ipucu\">\n  Uzman \u0130pucu: Regex, sadece arama yapmakla kalmaz; e\u015fle\u015fen metinleri belirli bir kurala g\u00f6re de\u011fi\u015ftirmek i\u00e7in de kullan\u0131labilir. Bu, b\u00fcy\u00fck \u00e7apl\u0131 refakt\u00f6ring projelerinde zaman tasarrufu a\u00e7\u0131s\u0131ndan kritik bir rol oynar.\n<\/div>\n<h3>Regex&#8217;in Temel Yap\u0131 Ta\u015flar\u0131 Nelerdir?<\/h3>\n<p>Regex&#8217;in g\u00fcc\u00fc, karakter s\u0131n\u0131flar\u0131, niceleyiciler ve \u00e7apa karakterleri gibi yap\u0131 ta\u015flar\u0131ndan gelir. \u00d6rne\u011fin, <code>.<\/code> (nokta) herhangi bir karakteri e\u015fle\u015ftirirken, <code>*<\/code> bir \u00f6nceki karakterin s\u0131f\u0131r veya daha fazla tekrar\u0131n\u0131 ifade eder. <code>\\d<\/code> t\u00fcm rakamlar\u0131, <code>\\w<\/code> t\u00fcm kelime karakterlerini (harf, rakam, alt \u00e7izgi) temsil eder. VS Code&#8217;da bu sembolleri kullanarak, &#8220;<code>numara:<\/code>&#8221; ile ba\u015flayan ve ard\u0131ndan herhangi bir say\u0131 dizisi gelen t\u00fcm sat\u0131rlar\u0131 bulabilirsiniz. \u00d6rne\u011fin, <code>numara: \\d+<\/code> paterni, &#8220;numara: 123&#8221;, &#8220;numara: 4567&#8221; gibi ifadeleri yakalayacakt\u0131r. Buradaki <code>+<\/code> niceleyici, bir \u00f6nceki karakterin (bu durumda <code>\\d<\/code>) bir veya daha fazla tekrar\u0131n\u0131 arar. Ayr\u0131ca, belirli bir kelimenin ba\u015f\u0131nda veya sonunda yer alan desenleri yakalamak i\u00e7in <code>^<\/code> (sat\u0131r ba\u015f\u0131) ve <code>$<\/code> (sat\u0131r sonu) gibi \u00e7apa karakterlerini kullanabilirsiniz. \u00d6rne\u011fin, <code>^function<\/code>, sadece sat\u0131r ba\u015f\u0131nda &#8220;function&#8221; kelimesi olanlar\u0131 bulurken, <code>error$<\/code>, sat\u0131r sonunda &#8220;error&#8221; kelimesi olanlar\u0131 e\u015fle\u015ftirir. Bu temel yap\u0131 ta\u015flar\u0131n\u0131 birle\u015ftirerek, son derece spesifik ve g\u00fc\u00e7l\u00fc arama desenleri olu\u015fturabilirsiniz. VS Code&#8217;un aray\u00fcz\u00fcnde bu desenleri test etmek ve sonu\u00e7lar\u0131 an\u0131nda g\u00f6rmek, \u00f6\u011frenme s\u00fcrecini de olduk\u00e7a kolayla\u015ft\u0131r\u0131r.<\/p>\n<pre><code class=\"language-regex\">\n\/\/ Basit bir regex \u00f6rne\u011fi: T\u00fcm JavaScript console.log() \u00e7a\u011fr\u0131lar\u0131n\u0131 bulma\nconsole\\.log\\(.*?\\);\n<\/pre>\n<p><\/code><\/p>\n<p>Bu \u00f6rnekte <code>\\.<\/code>, noktan\u0131n \u00f6zel anlam\u0131n\u0131 ka\u00e7mak i\u00e7in kullan\u0131l\u0131r (aksi takdirde herhangi bir karakteri e\u015fle\u015ftirirdi). <code>.*?<\/code>, parantez i\u00e7indeki herhangi bir karakter dizisini (<code>.<\/code>) s\u0131f\u0131r veya daha fazla kez (<code>*<\/code>) e\u015fle\u015ftirir, ancak en k\u0131sa e\u015fle\u015fmeyi (<code>?<\/code>) tercih eder. Bu sayede, birden fazla <code>console.log<\/code> \u00e7a\u011fr\u0131s\u0131 ayn\u0131 sat\u0131rda olsa bile sadece ilkini veya beklenen k\u0131sm\u0131n\u0131 e\u015fle\u015ftirir.<\/p>\n<h2>VS Code'da Regex Kullan\u0131m\u0131na \u0130lk Ad\u0131mlar ve Temel Desenler: Arama \u0130\u015flevini Nas\u0131l G\u00fc\u00e7lendirirsiniz?<\/h2>\n<p>Visual Studio Code'da regex kullanmaya ba\u015flamak olduk\u00e7a basittir, ancak elde edece\u011finiz verimlilik inan\u0131lmazd\u0131r. \u0130lk ad\u0131m, VS Code'un arama i\u015flevine eri\u015fmektir. Klavyenizdeki <code>Ctrl+F<\/code> (Windows\/Linux) veya <code>Cmd+F<\/code> (macOS) tu\u015f kombinasyonunu kullanarak ge\u00e7erli dosyada arama kutusunu a\u00e7abilir, ya da <code>Ctrl+Shift+F<\/code> (Windows\/Linux) veya <code>Cmd+Shift+F<\/code> (macOS) ile t\u00fcm \u00e7al\u0131\u015fma alan\u0131nda (\u00e7oklu dosya) arama yapabilirsiniz. Arama kutusu a\u00e7\u0131ld\u0131\u011f\u0131nda, g\u00f6rece\u011finiz en \u00f6nemli butonlardan biri, \u00fczerinde <code>.*<\/code> sembol\u00fc bulunan k\u00fc\u00e7\u00fck bir ikondur. Bu ikon, regex modunu etkinle\u015ftirip devre d\u0131\u015f\u0131 b\u0131rakman\u0131z\u0131 sa\u011flar. Regex modunu aktif hale getirdi\u011finizde, arama kutusuna yazd\u0131\u011f\u0131n\u0131z metin art\u0131k s\u0131radan bir metin olarak de\u011fil, bir d\u00fczenli ifade deseni olarak yorumlanacakt\u0131r. Bu, s\u0131radan bir aramay\u0131 \u201csteroidlere\u201d d\u00f6n\u00fc\u015ft\u00fcren sihirli dokunu\u015ftur.<\/p>\n<p>Ba\u015flang\u0131\u00e7 i\u00e7in basit bir \u00f6rnekle ilerleyelim. Diyelim ki bir projenizdeki t\u00fcm HTML <code><img><\/code> etiketlerini bulmak istiyorsunuz. Normal bir aramayla <code><img<\/code> yazman\u0131z yeterli olabilir. Ancak, bu etiketlerin i\u00e7inde <code>src<\/code> veya <code>alt<\/code> gibi belirli \u00f6zelliklerin olup olmad\u0131\u011f\u0131n\u0131 kontrol etmek isterseniz, regex devreye girer. \u00d6rne\u011fin, <code><img.*?src=.*?><\/code> deseni, i\u00e7inde <code>src<\/code> \u00f6zelli\u011fi olan t\u00fcm <code><img><\/code> etiketlerini bulman\u0131z\u0131 sa\u011flar. Buradaki <code>.*?<\/code> ifadesi, herhangi bir karakteri (<code>.<\/code>) s\u0131f\u0131r veya daha fazla kez (<code>*<\/code>) e\u015fle\u015ftiren ancak bunu m\u00fcmk\u00fcn olan en k\u0131sa \u015fekilde (<code>?<\/code> - tembel e\u015fle\u015fme) yapan bir niceleyicidir. Bu, bir etiketin i\u00e7indeki di\u011fer \u00f6zelliklerin de do\u011fru bir \u015fekilde g\u00f6z ard\u0131 edilmesini sa\u011flar.<\/p>\n<pre><code class=\"language-html\">\n<img decoding=\"async\" src=\"\/resimler\/logo.png\" alt=\"\u015eirket Logosu\">\n<img decoding=\"async\" class=\"galeri-resmi\" src=\"\/resimler\/gorsel.jpg\">\n<img decoding=\"async\" data-lazy=\"true\" src=\"\/resimler\/placeholder.gif\" \/>\n<\/pre>\n<p><\/code><\/p>\n<p>Yukar\u0131daki HTML kod blo\u011funda, <code><img.*?src=.*?><\/code> regex deseni, her \u00fc\u00e7 <code><img><\/code> etiketini de ba\u015far\u0131yla yakalayacakt\u0131r.<\/p>\n<h3>Temel Regex Desenlerini Anlamak: Hangi Karakterler Neyi \u0130fade Eder?<\/h3>\n<p>Regex'in temelini olu\u015fturan \u00f6zel karakterleri ve onlar\u0131n anlamlar\u0131n\u0131 kavramak, g\u00fc\u00e7l\u00fc desenler olu\u015fturman\u0131n anahtar\u0131d\u0131r. \u0130\u015fte en s\u0131k kullan\u0131lan temel regex desenlerinden baz\u0131lar\u0131:<\/p>\n<table class=\"regex-table\">\n<thead>\n<tr>\n<th>Desen<\/th>\n<th>A\u00e7\u0131klama<\/th>\n<th>\u00d6rnek E\u015fle\u015fme<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>.<\/code><\/td>\n<td>Yeni sat\u0131r karakteri hari\u00e7 herhangi bir karakter.<\/td>\n<td><code>a.c<\/code> -> \"abc\", \"axc\", \"a&c\"<\/td>\n<\/tr>\n<tr>\n<td><code>\\d<\/code><\/td>\n<td>Herhangi bir rakam (0-9).<\/td>\n<td><code>\\d{3}<\/code> -> \"123\", \"456\"<\/td>\n<\/tr>\n<tr>\n<td><code>\\D<\/code><\/td>\n<td>Rakam olmayan herhangi bir karakter.<\/td>\n<td><code>\\D<\/code> -> \"a\", \"!\", \" \"<\/td>\n<\/tr>\n<tr>\n<td><code>\\w<\/code><\/td>\n<td>Herhangi bir kelime karakteri (a-z, A-Z, 0-9, _).<\/td>\n<td><code>\\w+<\/code> -> \"merhaba\", \"degisken_adi\"<\/td>\n<\/tr>\n<tr>\n<td><code>\\W<\/code><\/td>\n<td>Kelime karakteri olmayan herhangi bir karakter.<\/td>\n<td><code>\\W<\/code> -> \"$\", \"#\", \" \"<\/td>\n<\/tr>\n<tr>\n<td><code>\\s<\/code><\/td>\n<td>Herhangi bir bo\u015fluk karakteri (bo\u015fluk, tab, yeni sat\u0131r vb.).<\/td>\n<td><code>Hello\\sWorld<\/code> -> \"Hello World\"<\/td>\n<\/tr>\n<tr>\n<td><code>\\S<\/code><\/td>\n<td>Bo\u015fluk karakteri olmayan herhangi bir karakter.<\/td>\n<td><code>\\S+<\/code> -> \"NonStopText\"<\/td>\n<\/tr>\n<tr>\n<td><code>*<\/code><\/td>\n<td>Bir \u00f6nceki karakterin s\u0131f\u0131r veya daha fazla tekrar\u0131.<\/td>\n<td><code>a*b<\/code> -> \"b\", \"ab\", \"aaab\"<\/td>\n<\/tr>\n<tr>\n<td><code>+<\/code><\/td>\n<td>Bir \u00f6nceki karakterin bir veya daha fazla tekrar\u0131.<\/td>\n<td><code>a+b<\/code> -> \"ab\", \"aaab\" (ama \"b\" de\u011fil)<\/td>\n<\/tr>\n<tr>\n<td><code>?<\/code><\/td>\n<td>Bir \u00f6nceki karakterin s\u0131f\u0131r veya bir tekrar\u0131 (iste\u011fe ba\u011fl\u0131).<\/td>\n<td><code>colou?r<\/code> -> \"color\", \"colour\"<\/td>\n<\/tr>\n<tr>\n<td><code>{n}<\/code><\/td>\n<td>Bir \u00f6nceki karakterin tam n tekrar\u0131.<\/td>\n<td><code>\\d{4}<\/code> -> \"1990\", \"2023\"<\/td>\n<\/tr>\n<tr>\n<td><code>{n,}<\/code><\/td>\n<td>Bir \u00f6nceki karakterin en az n tekrar\u0131.<\/td>\n<td><code>\\d{3,}<\/code> -> \"123\", \"12345\"<\/td>\n<\/tr>\n<tr>\n<td><code>{n,m}<\/code><\/td>\n<td>Bir \u00f6nceki karakterin en az n, en fazla m tekrar\u0131.<\/td>\n<td><code>\\d{1,3}<\/code> -> \"1\", \"12\", \"123\"<\/td>\n<\/tr>\n<tr>\n<td><code>^<\/code><\/td>\n<td>Sat\u0131r\u0131n ba\u015flang\u0131c\u0131.<\/td>\n<td><code>^Hello<\/code> -> \"Hello World\" (sat\u0131r ba\u015f\u0131nda ise)<\/td>\n<\/tr>\n<tr>\n<td><code>$<\/code><\/td>\n<td>Sat\u0131r\u0131n sonu.<\/td>\n<td><code>World$<\/code> -> \"Hello World\" (sat\u0131r sonunda ise)<\/td>\n<\/tr>\n<tr>\n<td><code>[abc]<\/code><\/td>\n<td>K\u00f6\u015feli parantez i\u00e7indeki karakterlerden herhangi biri.<\/td>\n<td><code>[aeiou]<\/code> -> \"a\", \"e\", \"i\", \"o\", \"u\"<\/td>\n<\/tr>\n<tr>\n<td><code>[^abc]<\/code><\/td>\n<td>K\u00f6\u015feli parantez i\u00e7indeki karakterler d\u0131\u015f\u0131ndaki herhangi biri.<\/td>\n<td><code>[^0-9]<\/code> -> \"a\", \"$\", \" \"<\/td>\n<\/tr>\n<tr>\n<td><code>|<\/code><\/td>\n<td>Veya (alternasyon).<\/td>\n<td><code>kedi|k\u00f6pek<\/code> -> \"kedi\", \"k\u00f6pek\"<\/td>\n<\/tr>\n<tr>\n<td><code>( )<\/code><\/td>\n<td>Gruplama ve yakalama.<\/td>\n<td><code>(bir|iki)<\/code> -> \"bir\", \"iki\"<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Bu temel desenleri birle\u015ftirerek, son derece spesifik arama ihtiya\u00e7lar\u0131n\u0131z\u0131 kar\u015f\u0131layabilirsiniz. \u00d6rne\u011fin, <code>^function\\s+\\w+\\(.*?\\)<\/code> paterni, bir sat\u0131r\u0131n ba\u015f\u0131nda \"function\" kelimesiyle ba\u015flayan, ard\u0131ndan bir veya daha fazla bo\u015fluk, sonra bir kelime (fonksiyon ad\u0131), ard\u0131ndan parantez i\u00e7inde s\u0131f\u0131r veya daha fazla karakter i\u00e7eren t\u00fcm fonksiyon tan\u0131mlamalar\u0131n\u0131 yakalamak i\u00e7in kullan\u0131labilir. VS Code'un an\u0131nda geri bildirim \u00f6zelli\u011fi sayesinde, deseninizi yazarken e\u015fle\u015fmeleri canl\u0131 olarak g\u00f6rebilirsiniz, bu da deneme-yan\u0131lma s\u00fcrecini h\u0131zland\u0131r\u0131r ve \u00f6\u011frenmeyi kolayla\u015ft\u0131r\u0131r.<\/p>\n<h2>Ger\u00e7ek D\u00fcnya Senaryolar\u0131 ve \u0130leri D\u00fczey Regex: Karma\u015f\u0131k Kod Problemleri Nas\u0131l \u00c7\u00f6z\u00fcl\u00fcr?<\/h2>\n<p>Regex'in ger\u00e7ek g\u00fcc\u00fc, karma\u015f\u0131k kod tabanlar\u0131nda kar\u015f\u0131la\u015f\u0131lan zorlu problemleri \u00e7\u00f6zme yetene\u011finde ortaya \u00e7\u0131kar. Basit metin e\u015fle\u015ftirmelerinin \u00f6tesine ge\u00e7erek, belirli kal\u0131plara uyan dinamik kod yap\u0131lar\u0131n\u0131 bulmak veya manip\u00fcle etmek, geli\u015ftiriciler i\u00e7in paha bi\u00e7ilmez bir beceridir. \u0130\u015fte baz\u0131 ger\u00e7ek d\u00fcnya senaryolar\u0131 ve bu durumlar\u0131 regex ile nas\u0131l ele alabilece\u011finiz:<\/p>\n<h3>Vaka Analizi 1: T\u00fcm Konsol \u00c7\u0131kt\u0131lar\u0131n\u0131 Bulmak ve Kald\u0131rmak<\/h3>\n<p>Geli\u015ftirme a\u015famas\u0131nda s\u0131k\u00e7a kullan\u0131lan <code>console.log()<\/code>, <code>console.warn()<\/code> veya <code>console.error()<\/code> gibi ifadeler, canl\u0131 ortama \u00e7\u0131kmadan \u00f6nce temizlenmelidir. Y\u00fczlerce dosyada bu \u00e7a\u011fr\u0131lar\u0131 manuel olarak aramak hem yorucu hem de hataya a\u00e7\u0131kt\u0131r. Regex ile bunu kolayca yapabilirsiniz:<\/p>\n<pre><code class=\"language-regex\">\nconsole\\.(log|warn|error|info)\\(.*?\\);\n<\/pre>\n<p><\/code><\/p>\n<p>Bu paternin a\u00e7\u0131klamas\u0131 \u015f\u00f6yledir:<\/p>\n<ul>\n<li><code>console\\.<\/code>: \"console\" kelimesini ve ard\u0131ndan bir noktay\u0131 e\u015fle\u015ftirir. Nokta \u00f6zel bir karakter oldu\u011fundan ka\u00e7\u0131\u015f karakteri (<code>\\<\/code>) ile belirtilir.<\/li>\n<li><code>(log|warn|error|info)<\/code>: Bir gruplama kullanarak, \"log\", \"warn\", \"error\" veya \"info\" kelimelerinden herhangi birini e\u015fle\u015ftirir. Bu, farkl\u0131 konsol metotlar\u0131n\u0131 tek bir desende yakalaman\u0131z\u0131 sa\u011flar.<\/li>\n<li><code>\\(.*?\\)<\/code>: Bir parantez a\u00e7\u0131l\u0131\u015f\u0131n\u0131 (<code>\\(<\/code> - ka\u00e7\u0131\u015f karakteri ile), ard\u0131ndan herhangi bir karakteri (<code>.<\/code>) s\u0131f\u0131r veya daha fazla kez (<code>*<\/code>) en k\u0131sa yoldan (<code>?<\/code> - tembel e\u015fle\u015fme) ve bir parantez kapan\u0131\u015f\u0131n\u0131 (<code>\\)<\/code> - ka\u00e7\u0131\u015f karakteri ile) e\u015fle\u015ftirir.<\/li>\n<li><code>;<\/code>: \u0130fade sonundaki noktal\u0131 virg\u00fcl\u00fc e\u015fle\u015ftirir.<\/li>\n<\/ul>\n<p>Bu deseni kullanarak t\u00fcm konsol \u00e7\u0131kt\u0131lar\u0131n\u0131 bulduktan sonra, \"De\u011fi\u015ftir\" (Replace) alan\u0131n\u0131 bo\u015f b\u0131rakarak tek seferde silebilirsiniz. Bu, binlerce sat\u0131rl\u0131k kodda dahi saniyeler i\u00e7inde temizlik yapman\u0131z\u0131 sa\u011flar.<\/p>\n<h3>Vaka Analizi 2: \u00d6zel HTML \u00d6zniteliklerini veya Etiketlerini Bulmak<\/h3>\n<p>Bir projenizde, belirli bir k\u00fct\u00fcphane veya framework taraf\u0131ndan kullan\u0131lan \u00f6zel bir <code>data-<\/code> \u00f6zniteli\u011fine sahip t\u00fcm HTML elementlerini bulman\u0131z gerekebilir. \u00d6rne\u011fin, <code>data-test-id<\/code> \u00f6zniteli\u011fine sahip her elementi bulmak i\u00e7in:<\/p>\n<pre><code class=\"language-regex\">\n<(\\w+).*?data-test-id=\".*?\".*?>\n<\/pre>\n<p><\/code><\/p>\n<p>Bu regex deseni:<\/p>\n<ul>\n<li><code><(\\w+)<\/code>: Herhangi bir HTML etiketini (\u00f6rne\u011fin <code>div<\/code>, <code>span<\/code>) yakalar ve etiket ad\u0131n\u0131 bir gruba al\u0131r (<code>\\w+<\/code>).<\/li>\n<li><code>.*?<\/code>: Etiket ad\u0131ndan <code>data-test-id<\/code> \u00f6zniteli\u011fine kadar olan k\u0131sm\u0131 tembelce e\u015fle\u015ftirir.<\/li>\n<li><code>data-test-id=\".*?\"<\/code>: Tam olarak <code>data-test-id=\"<\/code> metnini ve ard\u0131ndan t\u0131rnak i\u00e7indeki herhangi bir de\u011feri yakalar.<\/li>\n<li><code>.*?><\/code>: Kalan \u00f6znitelikleri ve etiketin kapan\u0131\u015f\u0131n\u0131 e\u015fle\u015ftirir.<\/li>\n<\/ul>\n<p>Bu sayede, sadece <code>data-test-id<\/code> \u00f6zniteli\u011fine sahip elementleri de\u011fil, ayn\u0131 zamanda hangi t\u00fcrde elementler oldu\u011funu da kolayca belirleyebilirsiniz. \u0130leri d\u00fczeyde, yakalama gruplar\u0131n\u0131 (<code>()<\/code>) kullanarak bu elementlerin sadece etiket ad\u0131n\u0131 veya <code>data-test-id<\/code> de\u011ferini al\u0131p de\u011fi\u015ftirebilirsiniz.<\/p>\n<div class=\"uzman-ipucu\">\n  Uzman \u0130pucu: Yakalama gruplar\u0131 ve backreference'lar, karma\u015f\u0131k refakt\u00f6ring i\u015flemlerinde \u00e7ok g\u00fc\u00e7l\u00fcd\u00fcr. \u00d6rne\u011fin, <code>(birinci_deger), (ikinci_deger)<\/code> \u015feklinde e\u015fle\u015fen bir deseni <code>$2, $1<\/code> ile de\u011fi\u015ftirmek, de\u011ferlerin yerini de\u011fi\u015ftirebilirsiniz. Bu \u00f6zellik, b\u00fcy\u00fck veri d\u00f6n\u00fc\u015f\u00fcmlerinde hayat kurtar\u0131c\u0131d\u0131r.\n<\/div>\n<h3>Greedy (A\u00e7g\u00f6zl\u00fc) ve Lazy (Tembel) E\u015fle\u015fmeler<\/h3>\n<p>Regex'te niceleyicilerin (<code>*<\/code>, <code>+<\/code>, <code>?<\/code>, <code>{}<\/code>) varsay\u0131lan davran\u0131\u015f\u0131 \"a\u00e7g\u00f6zl\u00fc\"d\u00fcr (greedy). Yani m\u00fcmk\u00fcn olan en uzun e\u015fle\u015fmeyi yapmaya \u00e7al\u0131\u015f\u0131rlar. Ancak \u00e7o\u011fu zaman en k\u0131sa e\u015fle\u015fmeyi istersiniz. \u0130\u015fte bu durumda \"tembel\" e\u015fle\u015fmeyi (lazy) kullan\u0131r\u0131z. Niceleyicinin sonuna bir <code>?<\/code> ekleyerek bu davran\u0131\u015f\u0131 de\u011fi\u015ftirebilirsiniz (\u00f6rne\u011fin <code>.*?<\/code>, <code>+?<\/code>, <code>??<\/code>). Yukar\u0131daki \u00f6rneklerde de g\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi, HTML etiketlerinin i\u00e7inde veya fonksiyon parantezlerinin i\u00e7inde sadece ilgili k\u0131sm\u0131 e\u015fle\u015ftirmek i\u00e7in tembel e\u015fle\u015fmeler kritik \u00f6neme sahiptir.<\/p>\n<p>Bu senaryolar, regex'in sadece basit metin aramalar\u0131ndan \u00e7ok daha fazlas\u0131n\u0131 yapabilece\u011fini g\u00f6stermektedir. Kodunuzdaki gizli desenleri ortaya \u00e7\u0131karmak, hata ay\u0131klamak ve b\u00fcy\u00fck \u00e7apl\u0131 de\u011fi\u015fiklikleri g\u00fcvenle uygulamak i\u00e7in bu ileri d\u00fczey teknikler vazge\u00e7ilmezdir.<\/p>\n<h2>VS Code'da Regex ile De\u011fi\u015ftirme \u0130\u015flemleri ve Kod Refakt\u00f6ringi: Otomasyonla Verimlili\u011fi Art\u0131r\u0131n<\/h2>\n<p>VS Code'da regex kullanman\u0131n en g\u00fc\u00e7l\u00fc y\u00f6nlerinden biri, sadece arama yapmakla kalmay\u0131p, bulunan desenleri otomatik olarak de\u011fi\u015ftirebilmesidir. Bu \u00f6zellik, b\u00fcy\u00fck projelerde kod refakt\u00f6ringi, stil tutarl\u0131l\u0131\u011f\u0131n\u0131 sa\u011flama veya API de\u011fi\u015fikliklerine uyum sa\u011flama gibi g\u00f6revlerde inan\u0131lmaz bir zaman tasarrufu sa\u011flar. Arama kutusunun alt\u0131ndaki \"De\u011fi\u015ftir\" (Replace) alan\u0131n\u0131 a\u00e7arak bu g\u00fcc\u00fc kullanmaya ba\u015flayabilirsiniz.<\/p>\n<h3>Yakalama Gruplar\u0131n\u0131 Kullanarak Ak\u0131ll\u0131 De\u011fi\u015fiklikler Yapmak<\/h3>\n<p>Regex'te parantez <code>()<\/code> ile olu\u015fturdu\u011funuz yakalama gruplar\u0131, de\u011fi\u015ftirme i\u015fleminde alt\u0131n de\u011ferindedir. E\u015fle\u015fen bir desenin farkl\u0131 k\u0131s\u0131mlar\u0131n\u0131 ayr\u0131 ayr\u0131 yakalayabilir ve de\u011fi\u015ftirme string'inde bunlara <code>$1<\/code>, <code>$2<\/code> gibi referanslarla ula\u015fabilirsiniz. Bu, statik bir metinle de\u011fi\u015ftirmek yerine, dinamik ve ba\u011flama duyarl\u0131 de\u011fi\u015fiklikler yapman\u0131z\u0131 sa\u011flar.<\/p>\n<h3>Vaka Analizi 3: CSS S\u0131n\u0131f Adlar\u0131n\u0131 Standardize Etmek<\/h3>\n<p>Diyelim ki bir projenizdeki t\u00fcm CSS s\u0131n\u0131f adlar\u0131 <code>component-<\/code> \u00f6nekiyle ba\u015fl\u0131yor, ancak yeni bir standartla bu \u00f6neki <code>module-<\/code> olarak de\u011fi\u015ftirmek istiyorsunuz. Bu i\u015flemi manuel olarak yapmak b\u00fcy\u00fck bir zaman kayb\u0131 olacakt\u0131r. Regex ile bunu kolayca halledebilirsiniz:<\/p>\n<pre><code class=\"language-regex\">\n\/\/ Aranacak Desen\n(component-)(.*?)(?:\"|&apos;|\\s)\n<\/pre>\n<p><\/code><\/p>\n<pre><code class=\"language-regex\"><\/pre>\n<p><\/code><br \/>\n\/\/ De\u011fi\u015ftirme Deseni<br \/>\nmodule-$2$3<br \/>\n<\/code><\/p>\n<p>Bu deseni a\u00e7\u0131klayal\u0131m:<\/p>\n<ul>\n<li><code>(component-)<\/code>: \"component-\" kelimesini yakalar ve bunu birinci grup (<code>$1<\/code>) olarak atar.<\/li>\n<li><code>(.*?)<\/code>: \"component-\" sonras\u0131nda gelen herhangi bir karakter dizisini (s\u0131n\u0131f ad\u0131n\u0131n geri kalan\u0131) yakalar ve ikinci grup (<code>$2<\/code>) olarak atar.<\/li>\n<li><code>(?:\"|&apos;|\\s)<\/code>: Bu bir yakalama yapmayan gruptur (non-capturing group <code>(?:...)<\/code>). Amac\u0131, s\u0131n\u0131f ad\u0131ndan sonra gelen bir t\u0131rnak i\u015faretini (tek veya \u00e7ift) veya bir bo\u015fluk karakterini e\u015fle\u015ftirmektir. Bu karakteri e\u015fle\u015ftiririz ki <code>(.*?)<\/code> grubu sadece s\u0131n\u0131f ad\u0131n\u0131 yakalas\u0131n, ancak de\u011fi\u015ftirmek istedi\u011fimiz k\u0131sma dahil etmeyiz. Bu, e\u015fle\u015fmenin do\u011fru s\u0131n\u0131rlar i\u00e7inde kalmas\u0131n\u0131 sa\u011flar. E\u011fer bu k\u0131sm\u0131 yakalasayd\u0131k <code>$3<\/code> olarak de\u011fi\u015ftirmemiz gerekirdi.<\/li>\n<\/ul>\n<p>De\u011fi\u015ftirme alan\u0131nda <code>module-$2<\/code> kullanarak, <code>component-<\/code> \u00f6nekini <code>module-<\/code> ile de\u011fi\u015ftirirken, orijinal s\u0131n\u0131f ad\u0131n\u0131n geri kalan\u0131n\u0131 (<code>$2<\/code> ile) koruruz. \u00d6rne\u011fin, <code>component-button<\/code> -> <code>module-button<\/code> olacakt\u0131r. Bu t\u00fcr bir otomasyon, b\u00fcy\u00fck refakt\u00f6ring g\u00f6revlerinde hata oran\u0131n\u0131 d\u00fc\u015f\u00fcr\u00fcr ve tutarl\u0131l\u0131\u011f\u0131 art\u0131r\u0131r.<\/p>\n<pre><code class=\"language-html\">\n<!-- \u00d6rnek HTML kodu -->\n<div class=\"component-header\">\n    <button class='component-button'>T\u0131kla<\/button>\n<\/div>\n<span class=\"component-text-field\">Metin<\/span>\n<\/pre>\n<p><\/code><\/p>\n<p>Yukar\u0131daki kodu regex ile de\u011fi\u015ftirdikten sonra \u015fu hale gelecektir:<\/p>\n<pre><code class=\"language-html\">\n<!-- De\u011fi\u015ftirilmi\u015f HTML kodu -->\n<div class=\"module-header\">\n    <button class='module-button'>T\u0131kla<\/button>\n<\/div>\n<span class=\"module-text-field\">Metin<\/span>\n<\/pre>\n<p><\/code><\/p>\n<div class=\"uzman-ipucu\">\n  Uzman \u0130pucu: De\u011fi\u015ftirme i\u015flemlerini \"T\u00fcm\u00fcn\u00fc De\u011fi\u015ftir\" yapmadan \u00f6nce, mutlaka \"Sonraki E\u015fle\u015fmeyi De\u011fi\u015ftir\" butonunu kullanarak birka\u00e7 deneme yap\u0131n. B\u00f6ylece istemedi\u011finiz de\u011fi\u015fiklikleri \u00f6nleyebilirsiniz.\n<\/div>\n<h3>Mobil Uyumlu HTML Aramalar\u0131 ve D\u00fczenlemeler<\/h3>\n<p>Modern web geli\u015ftirmede mobil uyumluluk (responsive design) kritik \u00f6neme sahiptir. CSS dosyalar\u0131n\u0131zda belirli medya sorgular\u0131n\u0131 (media queries) bulmak veya d\u00fczenlemek i\u00e7in regex'ten faydalanabilirsiniz. \u00d6rne\u011fin, <code>max-width<\/code> de\u011feri <code>768px<\/code>'ten k\u00fc\u00e7\u00fck olan t\u00fcm medya sorgular\u0131n\u0131 bulmak isteyebilirsiniz:<\/p>\n<pre><code class=\"language-css\">\n\/\/ Aranacak Desen: Belirli bir max-width de\u011ferini i\u00e7eren medya sorgular\u0131n\u0131 bulma\n@media\\s+screen\\s+and\\s+\\(max-width:\\s+(?:[1-6]\\d{2}|7[0-5]\\d|76[0-7])px\\)\n<\/pre>\n<p><\/code><\/p>\n<p>Bu regex, <code>768px<\/code>'ten daha k\u00fc\u00e7\u00fck <code>max-width<\/code> de\u011ferlerini hedef al\u0131r. Buradaki <code>(?:[1-6]\\d{2}|7[0-5]\\d|76[0-7])<\/code> karma\u015f\u0131k k\u0131sm\u0131, <code>100-699<\/code> aras\u0131 (<code>[1-6]\\d{2}<\/code>), <code>700-759<\/code> aras\u0131 (<code>7[0-5]\\d<\/code>) ve <code>760-767<\/code> aras\u0131 (<code>76[0-7]<\/code>) say\u0131lar\u0131 e\u015fle\u015ftirmek i\u00e7in kullan\u0131l\u0131r. Bu, spesifik arama ihtiya\u00e7lar\u0131n\u0131z i\u00e7in ne kadar detayl\u0131 regex yazabilece\u011finizi g\u00f6sterir. Mobil uyumlu kodlaman\u0131n bir par\u00e7as\u0131 olarak, bu t\u00fcr regex kullan\u0131mlar\u0131, belirli ekran boyutlar\u0131 i\u00e7in \u00f6zelle\u015ftirilmi\u015f stilleri h\u0131zl\u0131ca denetlemenize veya de\u011fi\u015ftirmenize olanak tan\u0131r.<\/p>\n<h2>Sonu\u00e7 ve S\u0131k\u00e7a Sorulan Sorular (SSS): Regex Bilginizi Peki\u015ftirin<\/h2>\n<p>VS Code'da d\u00fczenli ifadeleri (regex) kullanmak, s\u0131radan kod arama ve de\u011fi\u015ftirme i\u015flemlerini adeta s\u00fcper g\u00fc\u00e7lerle donat\u0131r. Bu makale boyunca, regex'in temel kavramlar\u0131ndan ba\u015flayarak, VS Code entegrasyonuna, temel desenlerden ger\u00e7ek d\u00fcnya senaryolar\u0131na ve ileri d\u00fczey de\u011fi\u015ftirme i\u015flemlerine kadar bir\u00e7ok konuyu ele ald\u0131k. Geli\u015ftirme s\u00fcrecinizde kar\u015f\u0131la\u015ft\u0131\u011f\u0131n\u0131z karma\u015f\u0131k metin i\u015fleme, kod refakt\u00f6ringi ve hata ay\u0131klama g\u00f6revlerinde regex'in size ne kadar zaman kazand\u0131rabilece\u011fini ve i\u015f ak\u0131\u015f\u0131n\u0131z\u0131 ne kadar kolayla\u015ft\u0131rabilece\u011fini art\u0131k biliyorsunuz. Unutmay\u0131n, regex bir kez \u00f6\u011frenildi\u011finde sadece VS Code'da de\u011fil, bir\u00e7ok farkl\u0131 programlama dilinde ve ara\u00e7ta kullanabilece\u011finiz evrensel bir beceridir.<\/p>\n<p>Regex \u00f6\u011frenmek pratikle peki\u015fen bir s\u00fcre\u00e7tir. Ba\u015flang\u0131\u00e7ta karma\u015f\u0131k gelebilir, ancak k\u00fc\u00e7\u00fck ad\u0131mlarla ba\u015flay\u0131p s\u00fcrekli deneme yaparak bu g\u00fc\u00e7l\u00fc araca hakim olabilirsiniz. VS Code'un anl\u0131k e\u015fle\u015fme g\u00f6sterimi, bu \u00f6\u011frenme s\u00fcrecini olduk\u00e7a interaktif ve e\u011flenceli hale getirir. Kod taban\u0131n\u0131zda kar\u015f\u0131la\u015ft\u0131\u011f\u0131n\u0131z her t\u00fcrl\u00fc desen e\u015fle\u015ftirme ihtiyac\u0131nda regex'i d\u00fc\u015f\u00fcnmek, problem \u00e7\u00f6zme yetene\u011finizi geli\u015ftirecek ve sizi daha verimli bir geli\u015ftirici yapacakt\u0131r. Daha da iyisi, mobil uyumlu HTML geli\u015ftirirken medya sorgular\u0131n\u0131 bulma veya de\u011fi\u015ftirme gibi spesifik g\u00f6revlerde dahi regex'in ne kadar etkili oldu\u011funu g\u00f6rd\u00fck. Art\u0131k arama kutunuz sadece bir metin bulucu de\u011fil, adeta bir kod analisti ve d\u00f6n\u00fc\u015ft\u00fcr\u00fcc\u00fcs\u00fcd\u00fcr.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<p><strong>1. Regex \u00f6\u011frenmek neden bu kadar \u00f6nemli?<\/strong><\/p>\n<p>Regex, karma\u015f\u0131k metin desenlerini tan\u0131mlama, arama, ay\u0131klama ve de\u011fi\u015ftirme yetene\u011fi sunar. Bu, kod refakt\u00f6ringi, log analizi, veri do\u011frulama ve hatta sistem y\u00f6netimi gibi bir\u00e7ok alanda zaman ve emek tasarrufu sa\u011flar. Programc\u0131lar, sistem y\u00f6neticileri ve veri analistleri i\u00e7in vazge\u00e7ilmez bir ara\u00e7t\u0131r.<\/p>\n<p><strong>2. VS Code'da regex modunu nas\u0131l etkinle\u015ftiririm?<\/strong><\/p>\n<p>VS Code'da arama kutusunu (Ctrl+F veya Ctrl+Shift+F) a\u00e7t\u0131ktan sonra, arama kutusunun sa\u011f\u0131nda bulunan <code>.*<\/code> ikonuna t\u0131klayarak regex modunu etkinle\u015ftirebilirsiniz. \u0130kon vurguland\u0131\u011f\u0131nda, regex modu aktiftir.<\/p>\n<p><strong>3. Regex desenlerim \u00e7ok yava\u015f \u00e7al\u0131\u015f\u0131yor, ne yapmal\u0131y\u0131m?<\/strong><\/p>\n<p>Yava\u015f \u00e7al\u0131\u015fan regex desenleri genellikle \"geri izleme\" (backtracking) problemlerinden kaynaklan\u0131r. A\u00e7g\u00f6zl\u00fc (greedy) niceleyiciler yerine tembel (lazy) niceleyiciler (\u00f6rne\u011fin <code>.*?<\/code> yerine <code>.*<\/code> yerine <code>.*?<\/code>), gereksiz gruplamalar ve a\u015f\u0131r\u0131 karma\u015f\u0131k desenlerden ka\u00e7\u0131narak performans\u0131 art\u0131rabilirsiniz. Ayr\u0131ca, spesifik karakter s\u0131n\u0131flar\u0131 (<code>\\d<\/code> yerine <code>.<\/code>) kullanmak da performans\u0131 iyile\u015ftirebilir.<\/p>\n<p><strong>4. Regex ile de\u011fi\u015ftirme yaparken yakalanan gruplar\u0131 nas\u0131l kullan\u0131r\u0131m?<\/strong><\/p>\n<p>De\u011fi\u015ftirme alan\u0131nda, regex deseninizdeki parantez <code>()<\/code> ile yakalad\u0131\u011f\u0131n\u0131z gruplara <code>$1<\/code>, <code>$2<\/code>, <code>$3<\/code> gibi referanslarla ula\u015fabilirsiniz. <code>$0<\/code> veya <code>$&<\/code> ise t\u00fcm e\u015fle\u015fen metni ifade eder.<\/p>\n<p><strong>5. VS Code'da belirli dosya t\u00fcrlerinde mi arama yapabilirim?<\/strong><\/p>\n<p>Evet, VS Code'un arama panelinde (Ctrl+Shift+F), \"Dosyalar\u0131 Dahil Et\" ve \"Dosyalar\u0131 Hari\u00e7 Tut\" alanlar\u0131 bulunur. Bu alanlara dosya uzant\u0131lar\u0131n\u0131 (\u00f6rne\u011fin <code>*.js, *.ts<\/code>) veya klas\u00f6r yollar\u0131n\u0131 yazarak araman\u0131z\u0131 belirli dosya t\u00fcrleri veya konumlarla s\u0131n\u0131rlayabilirsiniz. Bu, regex aramalar\u0131n\u0131z\u0131n kapsam\u0131n\u0131 daraltarak daha hedefe y\u00f6nelik sonu\u00e7lar elde etmenizi sa\u011flar.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Geni\u015f kod tabanlar\u0131nda belirli bir paterni veya metin par\u00e7as\u0131n\u0131 bulmak, \u00f6zellikle de b\u00fcy\u00fck projelerde zaman zaman i\u011fneyle kuyu&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-34136","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>VS Code&#039;da Regex ile G\u00fc\u00e7l\u00fc Arama: Kodunuzu H\u0131zland\u0131r\u0131n<\/title>\n<meta name=\"description\" content=\"Geni\u015f kod tabanlar\u0131nda belirli bir paterni veya metin par\u00e7as\u0131n\u0131 bulmak, \u00f6zellikle de b\u00fcy\u00fck projelerde zaman zaman i\u011fneyle kuyu kazmaya d\u00f6n\u00fc\u015febilir. VS Code gibi modern bir geli\u015ftirme ortam\u0131nda bile, standart arama fonksiyonlar\u0131 bazen yetersiz kal\u0131r. \u0130\u015fte tam bu noktada, \u201cSearch on steroids\u201d yani regex (d\u00fczenli ifadeler) devreye girerek kod arama ve d\u00fczenleme deneyiminizi bir \u00fcst seviyeye ta\u015f\u0131r. Bu makale, VS Code&#039;da regex&#039;in temelinden ileri d\u00fczey kullan\u0131m\u0131na kadar her \u015feyi ad\u0131m ad\u0131m \u00f6\u011freterek, kodunuz \u00fczerindeki kontrol\u00fcn\u00fcz\u00fc nas\u0131l art\u0131rabilece\u011finizi detayl\u0131 bir \u015fekilde a\u00e7\u0131klayacakt\u0131r.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/vs-codeda-regex-ile-guclu-arama-kodunuzu-hizlandirin\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"VS Code&#039;da Regex ile G\u00fc\u00e7l\u00fc Arama: Kodunuzu H\u0131zland\u0131r\u0131n\" \/>\n<meta property=\"og:description\" content=\"Geni\u015f kod tabanlar\u0131nda belirli bir paterni veya metin par\u00e7as\u0131n\u0131 bulmak, \u00f6zellikle de b\u00fcy\u00fck projelerde zaman zaman i\u011fneyle kuyu kazmaya d\u00f6n\u00fc\u015febilir. VS Code gibi modern bir geli\u015ftirme ortam\u0131nda bile, standart arama fonksiyonlar\u0131 bazen yetersiz kal\u0131r. \u0130\u015fte tam bu noktada, \u201cSearch on steroids\u201d yani regex (d\u00fczenli ifadeler) devreye girerek kod arama ve d\u00fczenleme deneyiminizi bir \u00fcst seviyeye ta\u015f\u0131r. Bu makale, VS Code&#039;da regex&#039;in temelinden ileri d\u00fczey kullan\u0131m\u0131na kadar her \u015feyi ad\u0131m ad\u0131m \u00f6\u011freterek, kodunuz \u00fczerindeki kontrol\u00fcn\u00fcz\u00fc nas\u0131l art\u0131rabilece\u011finizi detayl\u0131 bir \u015fekilde a\u00e7\u0131klayacakt\u0131r.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/vs-codeda-regex-ile-guclu-arama-kodunuzu-hizlandirin\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-11T18:31:12+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/vs-codeda-regex-ile-guclu-arama-kodunuzu-hizlandirin\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/vs-codeda-regex-ile-guclu-arama-kodunuzu-hizlandirin\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"VS Code&#8217;da Regex ile G\u00fc\u00e7l\u00fc Arama: Kodunuzu H\u0131zland\u0131r\u0131n\",\"datePublished\":\"2025-11-11T18:31:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/vs-codeda-regex-ile-guclu-arama-kodunuzu-hizlandirin\/\"},\"wordCount\":3475,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/vs-codeda-regex-ile-guclu-arama-kodunuzu-hizlandirin\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/vs-codeda-regex-ile-guclu-arama-kodunuzu-hizlandirin\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/vs-codeda-regex-ile-guclu-arama-kodunuzu-hizlandirin\/\",\"name\":\"VS Code'da Regex ile G\u00fc\u00e7l\u00fc Arama: Kodunuzu H\u0131zland\u0131r\u0131n\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-11-11T18:31:12+00:00\",\"description\":\"Geni\u015f kod tabanlar\u0131nda belirli bir paterni veya metin par\u00e7as\u0131n\u0131 bulmak, \u00f6zellikle de b\u00fcy\u00fck projelerde zaman zaman i\u011fneyle kuyu kazmaya d\u00f6n\u00fc\u015febilir. VS Code gibi modern bir geli\u015ftirme ortam\u0131nda bile, standart arama fonksiyonlar\u0131 bazen yetersiz kal\u0131r. \u0130\u015fte tam bu noktada, \u201cSearch on steroids\u201d yani regex (d\u00fczenli ifadeler) devreye girerek kod arama ve d\u00fczenleme deneyiminizi bir \u00fcst seviyeye ta\u015f\u0131r. Bu makale, VS Code'da regex'in temelinden ileri d\u00fczey kullan\u0131m\u0131na kadar her \u015feyi ad\u0131m ad\u0131m \u00f6\u011freterek, kodunuz \u00fczerindeki kontrol\u00fcn\u00fcz\u00fc nas\u0131l art\u0131rabilece\u011finizi detayl\u0131 bir \u015fekilde a\u00e7\u0131klayacakt\u0131r.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/vs-codeda-regex-ile-guclu-arama-kodunuzu-hizlandirin\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/vs-codeda-regex-ile-guclu-arama-kodunuzu-hizlandirin\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/vs-codeda-regex-ile-guclu-arama-kodunuzu-hizlandirin\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"VS Code&#8217;da Regex ile G\u00fc\u00e7l\u00fc Arama: Kodunuzu H\u0131zland\u0131r\u0131n\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"VS Code'da Regex ile G\u00fc\u00e7l\u00fc Arama: Kodunuzu H\u0131zland\u0131r\u0131n","description":"Geni\u015f kod tabanlar\u0131nda belirli bir paterni veya metin par\u00e7as\u0131n\u0131 bulmak, \u00f6zellikle de b\u00fcy\u00fck projelerde zaman zaman i\u011fneyle kuyu kazmaya d\u00f6n\u00fc\u015febilir. VS Code gibi modern bir geli\u015ftirme ortam\u0131nda bile, standart arama fonksiyonlar\u0131 bazen yetersiz kal\u0131r. \u0130\u015fte tam bu noktada, \u201cSearch on steroids\u201d yani regex (d\u00fczenli ifadeler) devreye girerek kod arama ve d\u00fczenleme deneyiminizi bir \u00fcst seviyeye ta\u015f\u0131r. Bu makale, VS Code'da regex'in temelinden ileri d\u00fczey kullan\u0131m\u0131na kadar her \u015feyi ad\u0131m ad\u0131m \u00f6\u011freterek, kodunuz \u00fczerindeki kontrol\u00fcn\u00fcz\u00fc nas\u0131l art\u0131rabilece\u011finizi detayl\u0131 bir \u015fekilde a\u00e7\u0131klayacakt\u0131r.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/vs-codeda-regex-ile-guclu-arama-kodunuzu-hizlandirin\/","og_locale":"tr_TR","og_type":"article","og_title":"VS Code'da Regex ile G\u00fc\u00e7l\u00fc Arama: Kodunuzu H\u0131zland\u0131r\u0131n","og_description":"Geni\u015f kod tabanlar\u0131nda belirli bir paterni veya metin par\u00e7as\u0131n\u0131 bulmak, \u00f6zellikle de b\u00fcy\u00fck projelerde zaman zaman i\u011fneyle kuyu kazmaya d\u00f6n\u00fc\u015febilir. VS Code gibi modern bir geli\u015ftirme ortam\u0131nda bile, standart arama fonksiyonlar\u0131 bazen yetersiz kal\u0131r. \u0130\u015fte tam bu noktada, \u201cSearch on steroids\u201d yani regex (d\u00fczenli ifadeler) devreye girerek kod arama ve d\u00fczenleme deneyiminizi bir \u00fcst seviyeye ta\u015f\u0131r. Bu makale, VS Code'da regex'in temelinden ileri d\u00fczey kullan\u0131m\u0131na kadar her \u015feyi ad\u0131m ad\u0131m \u00f6\u011freterek, kodunuz \u00fczerindeki kontrol\u00fcn\u00fcz\u00fc nas\u0131l art\u0131rabilece\u011finizi detayl\u0131 bir \u015fekilde a\u00e7\u0131klayacakt\u0131r.","og_url":"https:\/\/fatihsoysal.com\/blog\/vs-codeda-regex-ile-guclu-arama-kodunuzu-hizlandirin\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-11-11T18:31:12+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"10 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/vs-codeda-regex-ile-guclu-arama-kodunuzu-hizlandirin\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/vs-codeda-regex-ile-guclu-arama-kodunuzu-hizlandirin\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"VS Code&#8217;da Regex ile G\u00fc\u00e7l\u00fc Arama: Kodunuzu H\u0131zland\u0131r\u0131n","datePublished":"2025-11-11T18:31:12+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/vs-codeda-regex-ile-guclu-arama-kodunuzu-hizlandirin\/"},"wordCount":3475,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/vs-codeda-regex-ile-guclu-arama-kodunuzu-hizlandirin\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/vs-codeda-regex-ile-guclu-arama-kodunuzu-hizlandirin\/","url":"https:\/\/fatihsoysal.com\/blog\/vs-codeda-regex-ile-guclu-arama-kodunuzu-hizlandirin\/","name":"VS Code'da Regex ile G\u00fc\u00e7l\u00fc Arama: Kodunuzu H\u0131zland\u0131r\u0131n","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-11-11T18:31:12+00:00","description":"Geni\u015f kod tabanlar\u0131nda belirli bir paterni veya metin par\u00e7as\u0131n\u0131 bulmak, \u00f6zellikle de b\u00fcy\u00fck projelerde zaman zaman i\u011fneyle kuyu kazmaya d\u00f6n\u00fc\u015febilir. VS Code gibi modern bir geli\u015ftirme ortam\u0131nda bile, standart arama fonksiyonlar\u0131 bazen yetersiz kal\u0131r. \u0130\u015fte tam bu noktada, \u201cSearch on steroids\u201d yani regex (d\u00fczenli ifadeler) devreye girerek kod arama ve d\u00fczenleme deneyiminizi bir \u00fcst seviyeye ta\u015f\u0131r. Bu makale, VS Code'da regex'in temelinden ileri d\u00fczey kullan\u0131m\u0131na kadar her \u015feyi ad\u0131m ad\u0131m \u00f6\u011freterek, kodunuz \u00fczerindeki kontrol\u00fcn\u00fcz\u00fc nas\u0131l art\u0131rabilece\u011finizi detayl\u0131 bir \u015fekilde a\u00e7\u0131klayacakt\u0131r.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/vs-codeda-regex-ile-guclu-arama-kodunuzu-hizlandirin\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/vs-codeda-regex-ile-guclu-arama-kodunuzu-hizlandirin\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/vs-codeda-regex-ile-guclu-arama-kodunuzu-hizlandirin\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"VS Code&#8217;da Regex ile G\u00fc\u00e7l\u00fc Arama: Kodunuzu H\u0131zland\u0131r\u0131n"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/34136","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=34136"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/34136\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=34136"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=34136"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=34136"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}