{"id":29714,"date":"2025-09-18T20:22:47","date_gmt":"2025-09-18T17:22:47","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/verimli-metin-aramasi-icin-reguler-ifadelerle-grepi-ogrenmek\/"},"modified":"2025-09-18T20:22:47","modified_gmt":"2025-09-18T17:22:47","slug":"verimli-metin-aramasi-icin-reguler-ifadelerle-grepi-ogrenmek","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/verimli-metin-aramasi-icin-reguler-ifadelerle-grepi-ogrenmek\/","title":{"rendered":"Verimli Metin Aramas\u0131 i\u00e7in Reg\u00fcler \u0130fadelerle Grep&#8217;i \u00d6\u011frenmek"},"content":{"rendered":"<p># Grep ve RegEx ile Etkin Metin Aramas\u0131<\/p>\n<p>G\u00fcn\u00fcm\u00fczde veri okyanusunda bo\u011fulmak m\u00fcmk\u00fcn.  G\u00fcndelik i\u015flerimizde, yaz\u0131l\u0131m geli\u015ftirmede veya sistem y\u00f6netiminde,  kocaman dosya y\u0131\u011f\u0131nlar\u0131 i\u00e7inde arad\u0131\u011f\u0131m\u0131z o kritik bilgi par\u00e7as\u0131n\u0131 bulmak saatler s\u00fcrebilir. \u0130\u015fte tam bu noktada, g\u00fc\u00e7l\u00fc bir arama arac\u0131 olan <code class=\"language-\">grep<\/code> ve d\u00fczenli ifadeler (Regular Expressions &#8211; RegEx) devreye giriyor. Bu makalede, <code class=\"language-\">grep<\/code> komutunu ve RegEx&#8217;i kullanarak metin i\u00e7indeki kal\u0131plar\u0131 nas\u0131l etkili ve verimli bir \u015fekilde arayaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011freneceksiniz.  <code class=\"language-\">grep<\/code> ile d\u00fczenli ifadelerin g\u00fcc\u00fcn\u00fc ke\u015ffederek, zaman\u0131n\u0131zdan ve enerjinizden tasarruf edecek, daha verimli \u00e7al\u0131\u015facaks\u0131n\u0131z.<\/p>\n<p><strong>Grep ve D\u00fczenli \u0130fadelere Giri\u015f: Temel Kavramlar<\/strong><\/p>\n<p><code class=\"language-\">grep<\/code> (global regular expression print), Unix tabanl\u0131 sistemlerde metin dosyalar\u0131nda desen aramak i\u00e7in kullan\u0131lan g\u00fc\u00e7l\u00fc bir komut sat\u0131r\u0131 arac\u0131d\u0131r.  Temel kullan\u0131m \u015fekli olduk\u00e7a basittir:  <code class=\"language-\">grep \"arama_kal\u0131b\u0131\" dosya_ad\u0131<\/code>.  \u00d6rne\u011fin, &#8220;Merhaba D\u00fcnya&#8221; ifadesini &#8220;\u00f6rnek.txt&#8221; dosyas\u0131nda aramak i\u00e7in <code class=\"language-\">grep \"Merhaba D\u00fcnya\" \u00f6rnek.txt<\/code> komutunu kullanabilirsiniz.  Ancak <code class=\"language-\">grep<\/code>&#8216;in ger\u00e7ek g\u00fcc\u00fc, d\u00fczenli ifadeler (RegEx) ile ortaya \u00e7\u0131kar.<\/p>\n<p>D\u00fczenli ifadeler, metin i\u00e7indeki desenleri tan\u0131mlamak i\u00e7in kullan\u0131lan bir karakter dizisi k\u00fcmesidir.  Belirli harfleri, kelimeleri, say\u0131lar\u0131 veya daha karma\u015f\u0131k kal\u0131plar\u0131 tan\u0131mlaman\u0131za olanak tan\u0131r.  RegEx&#8217;in g\u00fcc\u00fc, k\u0131sa ve \u00f6z ifadelerle karma\u015f\u0131k kal\u0131plar\u0131 tan\u0131mlayabilmesinden gelir.  \u00d6rne\u011fin, <code class=\"language-\">[0-9]<\/code> ifadesi herhangi bir rakam\u0131, <code class=\"language-\">a*<\/code> ifadesi &#8216;a&#8217; harfinin s\u0131f\u0131r veya daha fazla tekrar\u0131n\u0131, <code class=\"language-\">\\bkelime\\b<\/code> ifadesi ise &#8220;kelime&#8221;nin tam olarak e\u015fle\u015fmesini temsil eder.  Bu gibi ifadeler kullanarak, <code class=\"language-\">grep<\/code>&#8216;in yeteneklerini b\u00fcy\u00fck \u00f6l\u00e7\u00fcde art\u0131rabilir ve daha karma\u015f\u0131k aramalar ger\u00e7ekle\u015ftirebilirsiniz.  RegEx&#8217;in \u00f6\u011frenme e\u011frisi biraz dik olsa da, bir kez kavrad\u0131\u011f\u0131n\u0131zda metin i\u015flemede inan\u0131lmaz bir verimlilik kazanacaks\u0131n\u0131z.<\/p>\n<p><strong>Grep ile Temel Arama Nas\u0131l Yap\u0131l\u0131r? (Yeni Ba\u015flayanlar i\u00e7in)<\/strong><\/p>\n<p>Yeni ba\u015flayanlar i\u00e7in, <code class=\"language-\">grep<\/code> komutunun temel kullan\u0131m\u0131n\u0131 birka\u00e7 basit \u00f6rnek ile a\u00e7\u0131klayal\u0131m. Diyelim ki &#8220;\u015fiir.txt&#8221; ad\u0131nda bir dosyam\u0131z var ve bu dosya i\u00e7inde &#8220;bahar&#8221; kelimesini aramak istiyoruz.  Komut sat\u0131r\u0131na a\u015fa\u011f\u0131daki komutu yazman\u0131z yeterli:<\/p>\n<pre class=\"language-bash\"><code>grep &quot;bahar&quot; siir.txt<\/code><\/pre>\n<p>Bu komut, &#8220;\u015fiir.txt&#8221; dosyas\u0131nda &#8220;bahar&#8221; kelimesini i\u00e7eren t\u00fcm sat\u0131rlar\u0131 ekrana yazd\u0131racakt\u0131r.<\/p>\n<p>\u015eimdi biraz daha ileri gidelim.  &#8220;yaz&#8221; veya &#8220;k\u0131\u015f&#8221; kelimelerini i\u00e7eren sat\u0131rlar\u0131 bulmak i\u00e7in a\u015fa\u011f\u0131daki komutu kullanabiliriz:<\/p>\n<pre class=\"language-bash\"><code>grep &quot;yaz\\|k\u0131\u015f&quot; siir.txt<\/code><\/pre>\n<p>Burada <code class=\"language-\">\\|<\/code> karakteri &#8220;veya&#8221; anlam\u0131na gelir.<\/p>\n<p>E\u011fer b\u00fcy\u00fck\/k\u00fc\u00e7\u00fck harf duyarl\u0131l\u0131\u011f\u0131 olmadan arama yapmak istiyorsan\u0131z <code class=\"language-\">-i<\/code> se\u00e7ene\u011fini kullanabilirsiniz:<\/p>\n<pre class=\"language-bash\"><code>grep -i &quot;Bahar&quot; siir.txt<\/code><\/pre>\n<p>Bu komut, &#8220;bahar&#8221;, &#8220;Bahar&#8221;, &#8220;BAHAR&#8221; gibi farkl\u0131 b\u00fcy\u00fck\/k\u00fc\u00e7\u00fck harf kombinasyonlar\u0131n\u0131 da bulur.<\/p>\n<p><strong>Ger\u00e7ek D\u00fcnya \u00d6rne\u011fi: Log Dosyalar\u0131nda Hata Aramas\u0131 (Orta Seviye)<\/strong><\/p>\n<p>Bir web sunucusunun log dosyalar\u0131nda &#8220;hata&#8221; kelimesini i\u00e7eren sat\u0131rlar\u0131 bulmak istedi\u011fimizi d\u00fc\u015f\u00fcnelim. Log dosyas\u0131 \u00e7ok b\u00fcy\u00fck olabilir, bu nedenle sadece ilgili sat\u0131rlar\u0131 bulmak \u00f6nemlidir.<\/p>\n<pre class=\"language-bash\"><code>grep -i &quot;hata&quot; access.log<\/code><\/pre>\n<p>Bu komut, <code class=\"language-\">access.log<\/code> dosyas\u0131nda &#8220;hata&#8221; kelimesini i\u00e7eren t\u00fcm sat\u0131rlar\u0131 (b\u00fcy\u00fck\/k\u00fc\u00e7\u00fck harf fark etmeksizin) ekrana yazd\u0131racakt\u0131r.  Daha da ileri gidip, sadece belirli bir tarih aral\u0131\u011f\u0131ndaki hatalar\u0131 bulmak isterseniz, daha karma\u015f\u0131k bir RegEx kullanabilirsiniz.  \u00d6rne\u011fin, 2024-10-26 tarihli hatalar\u0131 bulmak i\u00e7in:<\/p>\n<pre class=\"language-bash\"><code>grep -i &quot;2024-10-26.*hata&quot; access.log<\/code><\/pre>\n<p>Bu komut, 2024-10-26 tarihini i\u00e7eren ve &#8220;hata&#8221; kelimesini i\u00e7eren sat\u0131rlar\u0131 bulur.  <code class=\"language-\">.*<\/code> ifadesi, herhangi bir karakterin s\u0131f\u0131r veya daha fazla tekrar\u0131n\u0131 temsil eder.<\/p>\n<p><strong>Grep ve RegEx ile Performans Optimizasyonu (Orta Seviye)<\/strong><\/p>\n<p>B\u00fcy\u00fck dosyalarda arama yaparken performans kritik \u00f6nem ta\u015f\u0131r.  <code class=\"language-\">grep<\/code>&#8216;in performans\u0131n\u0131 optimize etmek i\u00e7in birka\u00e7 teknik kullanabiliriz:<\/p>\n<p>* <strong><code class=\"language-\">-n<\/code> se\u00e7ene\u011fi:<\/strong> Bulunan sat\u0131rlar\u0131n sat\u0131r numaralar\u0131n\u0131 g\u00f6sterir, bu da hatalar\u0131 daha kolay bulman\u0131za yard\u0131mc\u0131 olur.<br \/>\n* <strong><code class=\"language-\">-c<\/code> se\u00e7ene\u011fi:<\/strong>  E\u015fle\u015fen sat\u0131r say\u0131s\u0131n\u0131 g\u00f6sterir.<br \/>\n* <strong><code class=\"language-\">-l<\/code> se\u00e7ene\u011fi:<\/strong>  E\u015fle\u015fen sat\u0131rlar\u0131 i\u00e7eren dosyalar\u0131n adlar\u0131n\u0131 g\u00f6sterir.<br \/>\n* <strong><code class=\"language-\">-r<\/code> se\u00e7ene\u011fi:<\/strong>  Belirtilen dizin ve alt dizinlerindeki t\u00fcm dosyalarda arama yapar.  Ancak b\u00fcy\u00fck dizinlerde kullan\u0131rken dikkatli olmak gerekir, \u00e7\u00fcnk\u00fc performans\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde etkileyebilir.<br \/>\n* <strong><code class=\"language-\">-i<\/code> se\u00e7ene\u011fi:<\/strong> B\u00fcy\u00fck\/k\u00fc\u00e7\u00fck harf duyarl\u0131l\u0131\u011f\u0131n\u0131 kald\u0131r\u0131r, bu da arama h\u0131z\u0131n\u0131 art\u0131rabilir.<\/p>\n<p><strong>Karma\u015f\u0131k RegEx \u00d6rnekleri ve Edge Case&#8217;ler (\u0130leri Seviye)<\/strong><\/p>\n<p>RegEx&#8217;in g\u00fcc\u00fc, karma\u015f\u0131k desenleri tan\u0131mlama yetene\u011finde yatar.  \u00d6rne\u011fin, bir e-posta adresini do\u011frulamak i\u00e7in a\u015fa\u011f\u0131daki RegEx&#8217;i kullanabiliriz:<\/p>\n<pre class=\"language-bash\"><code>grep -E &quot;[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}&quot; dosya.txt<\/code><\/pre>\n<p>Bu RegEx, e-posta adresinin genel yap\u0131s\u0131n\u0131 tan\u0131mlar.  Ancak, t\u00fcm e-posta adreslerini yakalamayabilir, \u00e7\u00fcnk\u00fc e-posta adreslerinin yap\u0131s\u0131 olduk\u00e7a \u00e7e\u015fitli olabilir.  Bu gibi durumlarda, daha geli\u015fmi\u015f RegEx teknikleri veya \u00f6zel e-posta do\u011frulama k\u00fct\u00fcphaneleri kullanman\u0131z gerekebilir.  <code class=\"language-\">-E<\/code> se\u00e7ene\u011fi, geni\u015fletilmi\u015f RegEx ifadelerinin kullan\u0131lmas\u0131n\u0131 sa\u011flar.<\/p>\n<p>Bir di\u011fer \u00f6nemli nokta,  RegEx&#8217;in baz\u0131 karakterlerin \u00f6zel anlamlar\u0131n\u0131 yorumlamas\u0131d\u0131r.  Bu \u00f6zel karakterleri (\u00f6rne\u011fin <code class=\"language-\">.<\/code> , <code class=\"language-\">*<\/code>, <code class=\"language-\">+<\/code>, <code class=\"language-\">?<\/code>, <code class=\"language-\">[<\/code>, <code class=\"language-\">]<\/code>, <code class=\"language-\">(<\/code>, <code class=\"language-\">)<\/code>, <code class=\"language-\">|<\/code>, <code class=\"language-\">\\<\/code>, <code class=\"language-\">^<\/code>, <code class=\"language-\">$<\/code>)  e\u015fle\u015ftirmek i\u00e7in <code class=\"language-\">\\<\/code> (ters e\u011fik \u00e7izgi) kullanman\u0131z gerekebilir. \u00d6rne\u011fin, <code class=\"language-\">.<\/code> karakterini e\u015fle\u015ftirmek i\u00e7in <code class=\"language-\">\\.<\/code> yazmal\u0131s\u0131n\u0131z.<\/p>\n<p><strong>Grep ile Verimli Metin Arama \u0130\u00e7in \u00d6\u011frenme Yol Haritas\u0131<\/strong><\/p>\n<p><strong>Yeni Ba\u015flayan:<\/strong><\/p>\n<p>* <strong>Ad\u0131m 1:<\/strong> Temel <code class=\"language-\">grep<\/code> komutunu \u00f6\u011frenin: <code class=\"language-\">grep \"arama_kal\u0131b\u0131\" dosya_ad\u0131<\/code><br \/>\n* <strong>Ad\u0131m 2:<\/strong> <code class=\"language-\">-i<\/code> (b\u00fcy\u00fck\/k\u00fc\u00e7\u00fck harf duyars\u0131z), <code class=\"language-\">-n<\/code> (sat\u0131r numaras\u0131), <code class=\"language-\">-c<\/code> (e\u015fle\u015fen sat\u0131r say\u0131s\u0131) se\u00e7eneklerini \u00f6\u011frenin.<br \/>\n* <strong>Basit kod \u00f6rne\u011fi:<\/strong> <code class=\"language-\">grep -i \"python\" kod.txt<\/code> (kod.txt dosyas\u0131nda &#8220;python&#8221; kelimesini b\u00fcy\u00fck\/k\u00fc\u00e7\u00fck harf duyars\u0131z olarak arar)<\/p>\n<p><strong>Orta Seviye:<\/strong><\/p>\n<p>* <strong>Ger\u00e7ek hayat \u00f6rne\u011fi:<\/strong> Log dosyalar\u0131nda hata arama, belirli tarih aral\u0131klar\u0131nda arama yapma.<br \/>\n* <strong>Optimizasyon ipu\u00e7lar\u0131:<\/strong> <code class=\"language-\">-r<\/code> (recursive arama) se\u00e7ene\u011fini dikkatli kullan\u0131n,  <code class=\"language-\">-l<\/code> se\u00e7ene\u011fiyle sadece dosya adlar\u0131n\u0131 listeleyin.<br \/>\n* <strong>\u00d6rnek:<\/strong> <code class=\"language-\">grep -r -i \"hata\" loglar\/<\/code> (loglar dizininde ve alt dizinlerinde &#8220;hata&#8221; kelimesini recursive olarak arar)<\/p>\n<p><strong>\u0130leri Seviye:<\/strong><\/p>\n<p>* <strong>Performans analizi:<\/strong> B\u00fcy\u00fck dosyalarda arama s\u00fcresini \u00f6l\u00e7mek ve optimize etmek i\u00e7in ara\u00e7lar kullan\u0131n.<br \/>\n* <strong>Edge case&#8217;ler:<\/strong>  \u00d6zel karakterlerin nas\u0131l ele al\u0131naca\u011f\u0131n\u0131 \u00f6\u011frenin. Karma\u015f\u0131k RegEx ifadeleri olu\u015fturun ve test edin.  Performans sorunlar\u0131na neden olabilecek RegEx ifadelerini belirleyin ve optimize edin.<br \/>\n* <strong>\u00d6rnek:<\/strong>  Karma\u015f\u0131k bir RegEx kullanarak IP adreslerini veya e-posta adreslerini bulma.<\/p>\n<p><strong>Sonu\u00e7<\/strong><\/p>\n<p><code class=\"language-\">grep<\/code> ve d\u00fczenli ifadeler, metin i\u015flemede inan\u0131lmaz bir verimlilik sa\u011flar. Bu makalede, <code class=\"language-\">grep<\/code> komutunun temel kullan\u0131m\u0131ndan karma\u015f\u0131k d\u00fczenli ifadelere kadar geni\u015f bir yelpazede bilgi vermeye \u00e7al\u0131\u015ft\u0131k.  Uygulama yaparak ve farkl\u0131 senaryolar \u00fczerinde deneyerek <code class=\"language-\">grep<\/code> ve RegEx&#8217;i daha iyi anlayabilir ve metin arama becerilerinizi geli\u015ftirebilirsiniz.  Daha fazla bilgi i\u00e7in  [Fatih Soysal&#8217;\u0131n](https:\/\/fatihsoysal.com)  bloguna g\u00f6z atabilirsiniz.<\/p>\n<p><strong>S\u0131k\u00e7a Sorulan Sorular:<\/strong><\/p>\n<p>1. <strong><code class=\"language-\">grep<\/code> sadece metin dosyalar\u0131nda m\u0131 \u00e7al\u0131\u015f\u0131r?<\/strong> Hay\u0131r, <code class=\"language-\">grep<\/code>  bir\u00e7ok dosya t\u00fcr\u00fcnde \u00e7al\u0131\u015fabilir, ancak ikili dosyalarda beklendi\u011fi gibi \u00e7al\u0131\u015fmayabilir.<br \/>\n2. <strong>RegEx \u00f6\u011frenmek zor mu?<\/strong>  Ba\u015flang\u0131\u00e7ta biraz zorlay\u0131c\u0131 olabilir, ancak pratik yaparak ve kaynaklardan yararlanarak kolayca \u00f6\u011frenebilirsiniz.<br \/>\n3. <strong><code class=\"language-\">grep<\/code>&#8216;in alternatifleri var m\u0131?<\/strong>  Evet, <code class=\"language-\">ag<\/code> (the silver searcher) ve <code class=\"language-\">ripgrep<\/code> gibi daha h\u0131zl\u0131 ve geli\u015fmi\u015f alternatifler mevcuttur.<br \/>\n4. <strong>\u00c7ok b\u00fcy\u00fck dosyalarda arama yapmak i\u00e7in ba\u015fka neler yapabilirim?<\/strong>  <code class=\"language-\">head<\/code> ve <code class=\"language-\">tail<\/code> komutlar\u0131 ile dosyay\u0131 par\u00e7alara ay\u0131r\u0131p arama yapabilirsiniz veya daha geli\u015fmi\u015f ara\u00e7lar kullanabilirsiniz.<br \/>\n5. <strong>RegEx&#8217;te ka\u00e7\u0131\u015f karakterleri nelerdir?<\/strong>  <code class=\"language-\">\\.<\/code>, <code class=\"language-\">\\*<\/code>, <code class=\"language-\">\\+<\/code>, <code class=\"language-\">\\?<\/code>, <code class=\"language-\">\\[<\/code>, <code class=\"language-\">\\]<\/code>, <code class=\"language-\">\\(<\/code>, <code class=\"language-\">\\)<\/code>, <code class=\"language-\">\\|<\/code>, <code class=\"language-\">\\\\<\/code>, <code class=\"language-\">^<\/code>, <code class=\"language-\">$<\/code> gibi karakterler ka\u00e7\u0131\u015f karakteridir.<\/p>\n<p>Yazar: Fatih Soysal<\/p>\n","protected":false},"excerpt":{"rendered":"# Grep ve RegEx ile Etkin Metin Aramas\u0131 G\u00fcn\u00fcm\u00fczde veri okyanusunda bo\u011fulmak m\u00fcmk\u00fcn. G\u00fcndelik i\u015flerimizde, yaz\u0131l\u0131m geli\u015ftirmede veya&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-29714","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>Verimli Metin Aramas\u0131 i\u00e7in Reg\u00fcler \u0130fadelerle Grep&#039;i \u00d6\u011frenmek<\/title>\n<meta name=\"description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\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\/verimli-metin-aramasi-icin-reguler-ifadelerle-grepi-ogrenmek\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Verimli Metin Aramas\u0131 i\u00e7in Reg\u00fcler \u0130fadelerle Grep&#039;i \u00d6\u011frenmek\" \/>\n<meta property=\"og:description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/verimli-metin-aramasi-icin-reguler-ifadelerle-grepi-ogrenmek\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-18T17:22:47+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=\"7 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/verimli-metin-aramasi-icin-reguler-ifadelerle-grepi-ogrenmek\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/verimli-metin-aramasi-icin-reguler-ifadelerle-grepi-ogrenmek\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Verimli Metin Aramas\u0131 i\u00e7in Reg\u00fcler \u0130fadelerle Grep&#8217;i \u00d6\u011frenmek\",\"datePublished\":\"2025-09-18T17:22:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/verimli-metin-aramasi-icin-reguler-ifadelerle-grepi-ogrenmek\/\"},\"wordCount\":1215,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/verimli-metin-aramasi-icin-reguler-ifadelerle-grepi-ogrenmek\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/verimli-metin-aramasi-icin-reguler-ifadelerle-grepi-ogrenmek\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/verimli-metin-aramasi-icin-reguler-ifadelerle-grepi-ogrenmek\/\",\"name\":\"Verimli Metin Aramas\u0131 i\u00e7in Reg\u00fcler \u0130fadelerle Grep'i \u00d6\u011frenmek\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-09-18T17:22:47+00:00\",\"description\":\"Hi\u00e7bir etiketi bulunamad\u0131.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/verimli-metin-aramasi-icin-reguler-ifadelerle-grepi-ogrenmek\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/verimli-metin-aramasi-icin-reguler-ifadelerle-grepi-ogrenmek\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/verimli-metin-aramasi-icin-reguler-ifadelerle-grepi-ogrenmek\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Verimli Metin Aramas\u0131 i\u00e7in Reg\u00fcler \u0130fadelerle Grep&#8217;i \u00d6\u011frenmek\"}]},{\"@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":"Verimli Metin Aramas\u0131 i\u00e7in Reg\u00fcler \u0130fadelerle Grep'i \u00d6\u011frenmek","description":"Hi\u00e7bir etiketi bulunamad\u0131.","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\/verimli-metin-aramasi-icin-reguler-ifadelerle-grepi-ogrenmek\/","og_locale":"tr_TR","og_type":"article","og_title":"Verimli Metin Aramas\u0131 i\u00e7in Reg\u00fcler \u0130fadelerle Grep'i \u00d6\u011frenmek","og_description":"Hi\u00e7bir etiketi bulunamad\u0131.","og_url":"https:\/\/fatihsoysal.com\/blog\/verimli-metin-aramasi-icin-reguler-ifadelerle-grepi-ogrenmek\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-09-18T17:22:47+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"7 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/verimli-metin-aramasi-icin-reguler-ifadelerle-grepi-ogrenmek\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/verimli-metin-aramasi-icin-reguler-ifadelerle-grepi-ogrenmek\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Verimli Metin Aramas\u0131 i\u00e7in Reg\u00fcler \u0130fadelerle Grep&#8217;i \u00d6\u011frenmek","datePublished":"2025-09-18T17:22:47+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/verimli-metin-aramasi-icin-reguler-ifadelerle-grepi-ogrenmek\/"},"wordCount":1215,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/verimli-metin-aramasi-icin-reguler-ifadelerle-grepi-ogrenmek\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/verimli-metin-aramasi-icin-reguler-ifadelerle-grepi-ogrenmek\/","url":"https:\/\/fatihsoysal.com\/blog\/verimli-metin-aramasi-icin-reguler-ifadelerle-grepi-ogrenmek\/","name":"Verimli Metin Aramas\u0131 i\u00e7in Reg\u00fcler \u0130fadelerle Grep'i \u00d6\u011frenmek","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-09-18T17:22:47+00:00","description":"Hi\u00e7bir etiketi bulunamad\u0131.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/verimli-metin-aramasi-icin-reguler-ifadelerle-grepi-ogrenmek\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/verimli-metin-aramasi-icin-reguler-ifadelerle-grepi-ogrenmek\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/verimli-metin-aramasi-icin-reguler-ifadelerle-grepi-ogrenmek\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Verimli Metin Aramas\u0131 i\u00e7in Reg\u00fcler \u0130fadelerle Grep&#8217;i \u00d6\u011frenmek"}]},{"@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\/29714","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=29714"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/29714\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=29714"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=29714"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=29714"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}