Düzenli İfadelere Giriş (Regex)
Güçlü metin kalıbı eşleştirme için Düzenli İfadelerin söz dizimini ve temel kavramlarını anlayın.
Düzenli İfadelere Giriş (Regex), CoddyKit'te ücretsiz bir DevOps Bootcamp dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, DevOps Bootcamp öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
Düzenli İfadeler Nedir?
Genellikle Regex olarak kısaltılan düzenli ifadeler, metin aramak ve metni değiştirmek için kullanılan güçlü örüntülerdir.
Bunları metin içindeki belirli dizileri, karakterleri hatta konumları eşleştirebilen, güçlendirilmiş arama terimleri gibi düşünebilirsiniz.
Programlamada, betiklerde ve Linux'taki grep, sed ve awk gibi komut satırı araçlarında yaygın olarak kullanılırlar.
Değişmez Karakter Eşleştirme
En basit düzenli ifade, tam ve değişmez karakterleri eşleştirir. 'apple' için arama yaparsanız tam olarak 'apple' ifadesini bulur.
Bu temel eşleştirmeyi göstermek için grep komutunu (Global Regular Expression Print) kullanalım.
echo "apple" > fruits.txt
echo "banana" >> fruits.txt
echo "pineapple" >> fruits.txt
grep "apple" fruits.txt
rm fruits.txtNokta: Herhangi Bir Tek Karakter
Nokta (.), satır sonu hariç herhangi bir tek karakterle eşleşen özel bir karakterdir.
Tek bir konum için joker karakter gibidir. Örneğin c.t, "cat", "cot" veya "cut" ile eşleşir.
echo "cat" > words.txt
echo "cot" >> words.txt
echo "cut" >> words.txt
echo "coat" >> words.txt
grep "c.t" words.txt
rm words.txtYıldız: Sıfır veya Daha Fazla (*)
Yıldız (*), kendisinden hemen önce gelen karakterin veya grubun sıfır ya da daha fazla tekrarını eşleştiren bir niceleyicidir.
Örneğin colou*r, "color" (sıfır 'u') ve "colour" (bir 'u') ile eşleşir.
echo "color" > spellings.txt
echo "colour" >> spellings.txt
echo "colouuur" >> spellings.txt
echo "cold" >> spellings.txt
grep "colou*r" spellings.txt
rm spellings.txtArtı İşareti: Bir veya Daha Fazla (+)
Artı işareti (+), kendisinden önce gelen karakterin veya grubun bir ya da daha fazla tekrarını eşleştirir.
* işaretinden farklı olarak öğe en az bir kez bulunmalıdır. Bu nedenle go+gle, "google" ve "gooogle" ile eşleşir, ancak "ggle" ile eşleşmez.
Not: +, ? ve {} işaretlerinin grep ile doğrudan çalışması için genellikle genişletilmiş düzenli ifadeler seçeneği olan -E seçeneğini kullanmanız gerekir.
echo "google" > search.txt
echo "goooogle" >> search.txt
echo "ggle" >> search.txt
grep -E "go+gle" search.txt
rm search.txtSoru İşareti: Sıfır veya Bir (?)
Soru işareti (?), kendisinden önce gelen karakterin veya grubun sıfır ya da bir tekrarını eşleştirir.
Bir karakteri isteğe bağlı hâle getirir. Örneğin colou?r, "color" (sıfır 'u') ve "colour" (bir 'u') ile eşleşir.
echo "color" >> spellings.txt
echo "colour" >> spellings.txt
echo "colouuur" >> spellings.txt
grep -E "colou?r" spellings.txt
rm spellings.txtÇapalar: Başlangıç (^) ve Bitiş ($)
Çapalar karakterlerle eşleşmez; metindeki belirli konumlarla eşleşir.
^, bir satırın başlangıcıyla eşleşir.$, bir satırın sonuyla eşleşir.
Örnek: ^apple, "apple" ile yalnızca bir satırın başındaysa eşleşir. apple$ ise "apple" ile yalnızca satırın sonundaysa eşleşir.
echo "apple pie" > menu.txt
echo "fresh apple" >> menu.txt
echo "apple" >> menu.txt
grep -E "^apple" menu.txt
grep -E "apple$" menu.txt
rm menu.txtKarakter Sınıfları: Köşeli Parantezler ([])
Köşeli parantezler ([]), kümedeki herhangi bir tek karakterle eşleşen bir karakter sınıfı tanımlar.
[aeiou], herhangi bir tek sesli harfle eşleşir.[0-9], herhangi bir tek rakamla eşleşir.[a-zA-Z], herhangi bir tek harfle eşleşir.
[^...] kullanarak bir sınıfı olumsuzlayabilirsiniz; örneğin [^aeiou], sesli harf OLMAYAN herhangi bir karakterle eşleşir.
echo "cat" > animals.txt
echo "bat" >> animals.txt
echo "rat" >> animals.txt
echo "cot" >> animals.txt
grep -E "[cb]at" animals.txt
grep -E "[^cbr]at" animals.txt
rm animals.txtNiceleyiciler: Süslü Parantezler ({})
Süslü parantezler ({}), kendisinden önce gelen karakterin veya grubun tam tekrar sayısını belirten niceleyicilerdir.
a{3}, "aaa" ile eşleşira{2,}, "aa", "aaa", "aaaa" vb. ile eşleşir (en az 2)a{2,4}, "aa", "aaa", "aaaa" ile eşleşir (2 ile 4 arasında)
Bu niceleyiciler için grep -E kullanmayı unutmayın.
echo "helllo" > greetings.txt
echo "hello" >> greetings.txt
echo "helo" >> greetings.txt
grep -E "hel{2,3}o" greetings.txt
rm greetings.txtDüzenli İfade Hızlı Kontrolü
Şu dizeleri düşünün:
bananabanaanabanaananabna
Yalnızca "banana" ve "banaana" ile eşleşecek düzenli ifade hangisidir?
Düzenli İfadelerin Temelleri Özeti
Düzenli İfadelerin temellerini öğrendiniz!
- Düzenli ifadeler, metinde arama yapmak ve metni işlemek için kalıplar kullanır.
- Değişmez karakterler kendileriyle eşleşir.
.,*,+,?,^,$,[]ve{}gibi özel karakterler güçlü eşleştirme olanakları sağlar.
Sırada bu kalıpları grep komutu ve çeşitli seçenekleriyle gelişmiş metin aramalarında uygulayacaksınız.
Sıkça Sorulan Sorular
“Düzenli İfadelere Giriş (Regex)” dersi ücretsiz mi?
Evet — “Düzenli İfadelere Giriş (Regex)” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve DevOps Bootcamp kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
“Düzenli İfadelere Giriş (Regex)” dersinde ne öğreneceğim?
Güçlü metin kalıbı eşleştirme için Düzenli İfadelerin söz dizimini ve temel kavramlarını anlayın. DevOps Bootcamp ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
DevOps Bootcamp öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te DevOps Bootcamp, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Düzenli İfadelere Giriş (Regex)” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu DevOps Bootcamp dersinde kod yazıp çalıştırabilir miyim?
Evet. Her DevOps Bootcamp dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Düzenli İfadelere Giriş (Regex)
- Regex ile İleri Düzey Grep
- Regex'i sed/awk ile Birleştirme
- Yakalama Grupları, Geri Başvurular ve Yerine Koyma