Tekrar hoş geldiniz.
Şu ana kadar düzenli ifadelerden oldukça gevşek bir şekilde bahsettik.
Demek istediğim, bunun farklı şeyleri bir araya getirmemize yardımcı olduğunu anlamalısınız.
Ancak sorun şu ki, bunu gerçek hayat senaryolarına nasıl uygulayabilirim?
Belki de e-posta toplarken, belki de bir girişim oluştururken iyi bir kullanım örneği olabilir.
Bu startup, diyelim ki ilgilenen müşterilerin e-postalarını toplamak istiyor.
Şimdi girişimimizle ilgilenenlerin uygun e-posta adreslerini girdiklerinden emin olmak istiyoruz, değil mi?
Çünkü kimsenin veri tabanlarımızı veya Excel sayfalarımızı rastgele doldurmasını istemiyoruz.
Kelimeler.
Bir şeyin doğru bir e-posta olduğundan emin olmak istiyoruz.
Aksi takdirde, "Hey, bu doğru bir e-posta değil" der.
Lütfen tekrar deneyin.
Ve düzenli ifade, doğrulama için ve bir kullanıcının girdiği veya başka bir makinenin kodunuza
girdiği her şeyin doğru biçimde olduğundan emin olmak için kullanmak için harika bir şeydir.
Şimdi size bunu nasıl yapacağıma dair bir örnek göstereyim.
Diyelim ki bir e-posta doğrulaması yapmak istiyorum.
Yapacağım ilk şey basitçe Python e-posta doğrulama, regex yazmaktır.
Ve burada geçerli e-posta adreslerini nasıl kontrol edeceğimizi görüyorsunuz.
Ve hemen hemen ilk birkaç cevap aradığınız şey olacaktır.
Bu e-posta adresini, 99 çalışan düzenli ifadeyi seviyorum. Zamanın %99'unda.
Bu benim için yeterli.
Burada, aşağı kaydırırsam ne kullanabileceğimize dair bir fikrimiz olduğunu görüyorsunuz.
Görünüşe göre farklı diller için düzenli ifadelerimiz var.
Pekala, Python yapalım.
Bunu kopyalayacağım.
Şimdi burada, bire bir düzenli ifademize gidelim ve bunu buraya kopyalayalım.
Şimdi bir hata alıyorum çünkü burada Python'u seçtiğim için R'nin zaten dahil edildiğini görüyorsunuz.
O zaman kaldıralım.
Parantezler.
Yine, buranın üzerine gelirsek, bize yapmaya çalıştığı her şey hakkında bilgi verecektir.
Ayrıca bir de açıklamamız var.
Düzenli ifadeleri bu şekilde kullanmayı seviyorum.
İnternette insanların geçmişte kullandığı bir şey buluyorum.
Tekerleği yeniden icat etmeye ve sonra da onu anlamaya çalışmıyorum.
Bunu test etmek için, buraya bir e-posta adresi yazarsam, şuna bakın.
Bir eşleşme alıyorum, tam bir eşleşme alıyorum ve grupla eşleşiyor.
Teker teker gidelim.
Önce parantezlerin bende olduğunu görüyorum.
Bu da yakalama grubu.
Bir veri noktası yakalamaya çalışıyorum.
Diyelim ki buraya başka bir e-posta girdim.
Bu onu yakalamayacak.
Bu şekilde gidersem, onu yakalayamaz.
Çünkü biz bir yakalama grubu ararken.
Tamam.
Ardından, satırın başında bir konum belirlediğini görüyorum.
Bu yüzden hattın başlangıcının bunu yakaladığından emin olmak istiyoruz.
Yani bir kümede bulunan tek bir karakterle eşleşir.
Yani bu e-posta herhangi bir şey olabilir, harfler olabilir, sayılar olabilir.
Ve son olarak alt çizgi olabilir.
İçinde bir nokta olabilir, artı olabilir, eksi olabilir.
Ve son olarak artı bir niceleyicidir.
Yani bir ile sınırsız kez arasında eşleşir.
Yani bu dize istediğim kadar uzun olabilir ve yine de işe yarayacaktır.
Artı eksi kabul edecek.
Alt çizgi kabul edecek.
Ama kabul etmeyecek.
Ünlem işareti çünkü burada yok.
Tamam.
Yani bu iyi bir şey.
Sırada ne var?
Bir sonraki kısım işaret.
Tam anlamıyla bir işaret.
Elimizde olduğundan emin olmalıyız.
Ve yine işaretten sonra, bir kez daha, sonunda bir artı ile kullanabileceğimiz karakterlerimiz var, Hey, bunlardan istediğiniz
kadarına sahip olabilirsiniz.
Mükemmel.
Sırada özel bir tane var.
Nokta karakterini tam anlamıyla eşleştirir, çünkü nokta ve regex'i kaldırırsam aslında bir şey ifade eder,
herhangi bir karakterle eşleşir.
Nokta kuyusunun tam olarak aradığımız şey olduğundan emin olmak istiyoruz.
Diyelim ki nokta com veya k veya nokta net veya nokta org için bir nokta olması gerekir.
Bunun yerine bu eğik çizgi olmasaydı, bu herhangi bir karakter olabilirdi.
Bu hala nokta olmadan eşleşen bir dizedir.
Yani yine, özel karakter.
Tam burada.
Ve yine, aslında size açıklamalar veriyor.
Burayı aşağı doğru kaydırırsanız, size tam olarak ne yaptığını anlatacağım.
Tamam.
Noktadan sonra, bir kez daha, herhangi bir şeyimiz var.
Bu köşeli parantezler içinde istediğimiz kadar uzun süre kalabiliriz.
Ve sonunda bu dolar işareti diyor ki, hey, bununla bitmek zorunda.
Bu yolun sonu.
Harika.
Böylece sadece bunu kullanarak, bir e-posta doğrulamasının nasıl yapılacağını tam olarak anlayabiliyoruz.
Şimdi tek yapmam gereken, diyelim ki kod oluşturucuya gitmek.
Bu kod parçasını kopyalayın.
Yine, ham bir string kullanıyoruz çünkü Python yorumlayıcısının ona herhangi bir özel yetenek eklemeye çalışmadığından
emin olmak istiyoruz.
Sadece bunun ham bir dize olduğundan emin olmak istiyoruz.
Bunu bitirdiğimden emin ol.
Tamam.
Mükemmel.
Şimdi bu dizenin içinde, diyelim ki bir kullanıcının bana gönderdiği bir e-posta adresi var, örneğin
be at B dot com.
Tüm bunları kaldırıp sadece bir model yaparsam.
Ve sadece basitçe yapalım, çalıştır'a tıklarsam a'nın var olup olmadığını kontrol edelim.
Pekala, bu eşleşiyor.
Ancak birisi bana yanlış bir e-posta adresi veya düzgün biçimlendirilmemiş bir şey verirse, diyelim
ki bunun gibi.
Ve koş'a tıklıyorum.
Ben hiç almadım.
Bu yüzden bir if deyimi kullanarak, hey, eğer eşleşen bir nesne yoksa, o zaman onlara üzgünüm, tekrar deneyin diyebilirim.
Çok, çok havalı.
Sizin için bir egzersizim var.
Yeni öğrendiklerinizi ve kesinlikle Google becerilerinizi kullanın, çünkü düzenli ifadelerle Google'da arama
yapacaksınız.
Bunların hiçbirini ezberlemeyeceksin.
Yani, bilmiyorum.
Sizden yapmanızı istediğim şey aynı zamanda bir parola denetleyicisi oluşturmak.
Bu yüzden şifrenin birkaç gereksinimi olmalıdır.
Bu yüzden parolanın en az sekiz karakter uzunluğunda olması gerekir.
Ve her türlü harf içerebilir.
Sayılar.
Ve ne içerebileceğini biliyorsun.
Bu sembollere ne dersiniz?
Bu kadar.
Dolayısıyla, bu regex 101'i kullanarak tıpkı bunun gibi bir düzenli ifade yazın.
Bir sonraki videoda da bunu yapmaya çalışacağız.
Bir sonrakinde görüşürüz.
Güle güle.