Tekrar hoş geldiniz.
Şimdiye kadar sadece basit kalıplar bulduk.
Dizemizdeki basit metin kalıpları.
Çok çılgınca bir şey değil.
Ancak düzenli ifadelerin asıl kullanışlı olduğu alan gelişmiş kalıplardır.
Gördüğünüz gibi, düzenli ifadelerle bazı çılgın kalıplar oluşturabilirsiniz, diyelim ki bu ve bu tamamen
anlamsız görünüyor, değil mi?
Ancak bunun düzenli ifadede bir anlamı vardır.
Düzenli ifadeyi, metnin içindeki kalıpları bulmak için kullandığınız farklı kalıplarla
kendi içinde bütün bir dil olarak düşünebilirsiniz.
Şimdi, tüm düzenli ifade dünyası gerçekten çok karmaşıktır.
Bir programcı olarak sizden tüm bu kalıpları öğrenmenizi beklemiyorum.
Bazılarını burada görebilirsiniz.
Slash DD gibi bir anlama gelen özel dizilerimiz, dizenin 0'dan 9'a kadar rakamlar içerdiği
bir eşleşme döndürür.
Şurada setler gibi şeyler var, eğer bir düzenli ifade yazarsanız, ister küçük ister büyük harf
olsun, alfabetik olarak A ve Z arasındaki tüm karakterler için bir eşleşme döndürür.
Yani düzenli ifadelere yazabilecekleri küçük kısayollar ve hileler var.
Ve işler gerçekten çok karmaşık bir hal alabilir.
Yani aslında kimse bunları ezberlemiyor.
İhtiyaç ortaya çıktıkça onları geliştirirsiniz.
Ve aslına bakarsanız, videoların ilerleyen bölümlerinde, bunu gerçekten deneyeceğimiz ve bir parola denetleyicisi ve bir e-posta
denetleyicisi oluşturacağımız bir alıştırma yapacağız.
Şimdi, gerçekten çok sevdiğim araçlardan biri RegEx 101 olarak adlandırılıyor.
Çok ama çok kullanışlı.
Tek yapmanız gereken Python'u seçmek ve size düzenli ifadeler ve test etmeniz için bir test alanı
sunacak.
Örneğin, şöyle bir şey yazsaydım: Hey, nasılsın?
Şimdi buraya düzenli ifade girebilir ve bir şeyler deneyebilirim.
Örneğin, eğer Hey yazarsam.
Nasılsın?
Hmm.
Bu pek işe yaramıyor.
Belki buraya bazı alıntılar ekleyebilirim.
Ama hayır.
Ve aslında size ne kullanabileceğinize dair bazı seçenekler ve bilgiler veriyor.
Yani, örneğin, diyelim ki şunları kontrol etmek istedik.
Burada, A'dan Z'ye veya A'dan Z'ye aralığında bir karakter.
Eğer bunu kopyalarsam.
Ve yapıştırıyorum.
Şuna bak.
Sahip olduğum tüm maçları bana veriyor.
Bu durumda, A'dan Z'ye kadar herhangi bir karakterle eşleşiyor mu diye kontrol ediyorum.
Hem küçük harfli hem de büyük harfli.
Şu anda her şey birbirine uyuyor.
Şurada görüyorsunuz, birinci maç, ikinci maç, üçüncü maç, vesaire vesaire.
Ayrıca burada parantez açabilmek için şeyleri gruplandırabiliyorum.
Ve şimdi bu da ilk yakalama grubu.
Sonra da burada başka bir şey yapabilirim.
Diyelim ki burada bir şey istiyorum.
Peki burada ne anlama geliyor?
Sağ tarafta bir açıklamam var.
İlk yakalama grubu diyor ki, hey, aşağıdaki listede bulunan tek bir karakterle eşleş.
Yani size A'dan Z'ye kadar anlatıyor.
Başkent A'dan Z'ye.
Ve sonra ikinci yakalama grubu hey, aşağıdaki listede bulunan tek bir karakterle eşleşir,
bu da a'dır.
Şimdi burada iki yakalama grubum var.
Yani ilk yakalama grubu ve ardından ikinci yakalama grubu.
Buraya özel bir anlam ve düzenli ifade olan bir nokta eklersem, üzerine gelirseniz satır sonlandırıcılar
hariç herhangi bir karakterle eşleştiğini görürsünüz.
Peki ben burada ne yapıyorum?
Öncelikle ben varım.
Hey, sizden ilk yakalama grubunu kontrol etmenizi istiyorum, bu da A ile Z arasındaki aralıktaki herhangi
bir tek karakterdir.
Ondan sonra da herhangi bir karakter istiyorum.
Ve bundan sonra, a'nın herhangi bir eşleşmesini iyice aramanızı istiyorum.
İşte bunun için eşleşiyoruz.
W ile eşleşebiliriz çünkü herhangi bir harf ve ardından bir boşluk veya herhangi bir karakter ve ardından bir A arıyoruz.
Şimdi elimizde tam bir maç var, yani W2A ve sonra da Grup 1 var.
Bu da w'dir çünkü ilk grupla ve ardından A ile eşleşen ikinci grupla eşleşir.
Şimdi bunun kafa karıştırıcı olduğunu biliyorum.
Düzenli ifadeler, ilk başta anlaması gerçekten zor olan şeylerden biridir.
Şimdi size bunu nasıl kullanabileceğimizi göstereyim.
Burada kod oluşturucuya gidersem, aslında size Python'da kullanabileceğiniz örnek bir kod verebileceğimi
göreceksiniz.
Ama benim yapmaktan hoşlandığım şey aslında bu metin parçasını kopyalamak.
Bunun gibi.
Ve kod düzenleyicimize geri dönüp derleyin.
Yapıştır.
Şimdi burada bir R olduğunu fark edeceksiniz ve R ham karakter dizisi anlamına gelir, çünkü Python'da eğik çizgi ters
eğik çizgi gibi bir şeyin özel bir anlamı vardır.
Çünkü unutmayın, ters bölü çizgileri ile yeni satır veya sekme gibi özel şeyler yapabiliriz.
Bir R der ki, Hey, bu bir ham dize.
Python yorumlayıcısının yorumlayabileceği her şeyi göz ardı edin.
Bunun sadece saf bir dize olmasını istiyorum, bu yüzden bunu düzenli ifadelerle çok sık göreceksiniz.
Şimdi, eğer bu kodu çalıştırırsam.
ACA'nın burada olduğunu görüyorsunuz.
Tekrar söylüyorum, çünkü bir şey arıyorum.
Herhangi bir harfin ardından a harfi gelir.
Ve eğer burada bir grubum varsa, ki bu grupta arama yapıyorum, eğer grup bir yaparsam.
Eğer grup yaparsam ben de alırım.
Tıpkı buradaki oyun alanımızda yaptığımız gibi.
Burada başka bir faydalı şey daha var.
Hızlı referansa bakarsanız, aslında bir şeyler arayabilirsiniz.
Diyelim ki bir test dizesinin ile başlayıp başlamadığını kontrol etmek istedim.
Bu yüzden buraya start yazabilirim ve burada bana hızlı bir referans verdiğini görebilirsiniz.
Yani string'i başlatırsam, bana şunu gösteriyor: hey, bu karakteri kullan ve başlangıç string'ini yapmana yardımcı olacak.
Diyelim ki bu havucu buraya koydum ve "Hey, şuna bak, benim için eşleşiyor" dedim.
Yani diyor ki, hey, hattın başlangıcında konum belirle.
Burada tam olarak nasıl çalıştığını açıklıyor ve bana burada tam bir eşleşme olduğunu söylüyor.
Şimdi, çoğu zaman, düzenli ifadeleri kullanma şekliniz bu şekilde olmayacaktır.
Her şeyi kendi başınıza çözmeye çalışırsanız aslında oldukça zor olacaktır.
Dediğim gibi, kimse bunları gerçekten ezberlemiyor.
Bakıp anlayabileceğiniz ortak belirteçlerle hızlı referanslarımız olduğunu görebilirsiniz.
Ancak düzenli ifadeleri gerçekten öğrenmenin daha pratik bir yolu, gerçek hayattaki bir kullanım örneğini görmektir.
Şimdi, deneyimlerimden yola çıkarak bazı yaygın kalıpları öğrenmek isterseniz yapabileceğiniz
bazı egzersizler bırakacağım.
Bu, kimsenin size bir mülakatta soracağı bir şey değildir.
Düzenli ifadeleri ezberlemenize gerçekten gerek yok.
Sadece ne yaptıklarını bilmeniz gerekiyor.
İsterseniz egzersizleri deneyin.
Aksi takdirde, gerçek hayat senaryosunda düzenli ifadeleri tam olarak nasıl kullanacağınızı göstermek için bir sonraki
videoda görüşmek üzere.
Onda görüşürüz.
Güle güle.