BaşlayınÜcretsiz Başlayın

Düzenli ifadeler pratiği: re.split() ve re.findall()

Şimdi rakamları, metinleri ve alfasayısal olmayan karakterleri eşleyecek bazı düzenli ifadeler yazma fırsatın var. Farklı adımları en iyi nasıl eşleyeceğini belirlemek için önce IPython Shell’de my_string değişkenini yazdırarak bir göz at.

Not: Regex desenlerinin başına r öneki eklemek önemlidir; böylece desenlerin istediğin şekilde yorumlanır. Aksi halde, metinlerde kaçış dizileriyle ilgili sorunlarla karşılaşabilirsin. Örneğin, Python’da "\n" yeni satırı belirtir; ancak r öneki kullanırsan ham metin "\n" olarak yorumlanır — yani "\" karakterini "n" karakteri izler — ve yeni satır olarak değerlendirilmez.

Düzenli ifade modülü re senin için zaten içe aktarıldı.

Videodan hatırla: regex kitaplığı için sözdizimi her zaman önce deseni, sonra metni geçmektir.

Bu egzersiz

Python ile Doğal Dil İşlemeye Giriş

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • my_string değişkenini her cümle sonundan böl. Bunu yapmak için:
    • Cümle sonlarını (.?!) eşleyecek sentence_endings adlı bir desen yaz.
    • re.split() ile my_string’i bu desen üzerinden böl ve sonucu yazdır.
  • my_string içindeki tüm büyük harfle başlayan kelimeleri capitalized_words adlı bir desen yazarak ve re.findall() kullanarak bul ve yazdır.
    • Küçük harf gruplarını eşlemek için videoda gösterilen [a-z] desenini hatırlıyor musun? Büyük harf gruplarını eşlemek için bu deseni uygun şekilde değiştir.
  • Bir veya daha fazla boşluğu ("\s+") eşleyecek spaces adlı bir desen yaz ve ardından tüm noktalama işaretlerini koruyarak my_string’i bu desene göre re.split() ile böl. Sonucu yazdır.
  • my_string içindeki tüm rakamları digits ("\d+") adlı bir desen yazarak ve re.findall() kullanarak bul. Sonucu yazdır.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# Write a pattern to match sentence endings: sentence_endings
sentence_endings = r"[___]"

# Split my_string on sentence endings and print the result
print(re.____(____, ____))

# Find all capitalized words in my_string and print the result
capitalized_words = r"[___]\w+"
print(re.____(____, ____))

# Split my_string on spaces and print the result
spaces = r"___"
print(re.____(____, ____))

# Find all digits in my_string and print the result
digits = r"___"
print(re.____(____, ____))
Kodu Düzenle ve Çalıştır