Düzenli İfade Örüntüleri ve Karakter Sınıfları
\d, \w, \s, ., ^, $, +, *, ?, {n,m}, karakter sınıfları [a-z] ve olumsuzlama [^...].
Düzenli İfade Örüntüleri ve Karakter Sınıfları, CoddyKit'te ücretsiz bir Learn AI with Python 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, Learn AI with Python öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Learn AI with Python kursu toplamda 4 dersten oluşur.
Metin Yapay Zekâsı için Düzenli İfadeler Neden Önemlidir
Metin yapay zekâsı, düzensiz ham metinlerle başlar. Düzenli ifadeler (regex), kalıpları bulup çıkarmaya yarayan kısa bir dildir: telefon numaraları, tarihler, etiketler ve URL'ler gibi öğeleri modelinize göndermeden önce metni temizleyip yapılandırabilirsiniz.
Bu kursta kalıpları, re modülünü, grupları ve gerçek bir metin temizleme veri işleme hattını öğreneceksiniz.
Değişmez Karakterler
En basit kalıp değişmez metindir: tam olarak bu karakterlerle eşleşir. Düzenli ifadeler varsayılan olarak büyük/küçük harfe duyarlıdır.
cat, "the cat sat" içindeki "cat" ile eşleşir; ancak "Cat" ile eşleşmez.
import re
print(re.findall("cat", "the cat sat on a cat mat"))
# ["cat", "cat"]Nokta Meta Karakteri
Nokta ., satır sonu hariç herhangi bir tek karakterle eşleşir. Bu bir joker karakterdir.
c.t, "cat", "cot" ve "c9t" ile eşleşir — c, bir karakter ve ardından t gelen her diziyle eşleşir.
import re
print(re.findall("c.t", "cat cot cut c@t"))
# ["cat", "cot", "cut", "c@t"]Rakam, Sözcük ve Boşluk Sınıfları
Kısa gösterimli karakter sınıfları yaygın grupları kapsar:
\d— bir rakam (0-9)\w— bir sözcük karakteri (harf, rakam veya alt çizgi)\s— boşluk karakteri (boşluk, sekme veya satır sonu)
import re
print(re.findall("\d", "a1b2c3")) # ["1", "2", "3"]
print(re.findall("\w", "a_1!")) # ["a", "_", "1"]
print(re.findall("\s", "a b\tc")) # [" ", "\t"]Terslenmiş Sınıflar
Büyük harfli sürümler sınıfı tersler:
\D— NOT bir rakam olan her şey\W— NOT bir sözcük karakteri olan her şey\S— NOT boşluk karakteri olan her şey
import re
print(re.findall("\D", "a1b2")) # ["a", "b"]
print(re.findall("\S", "a b c")) # ["a", "b", "c"][ ] ile Özel Karakter Kümeleri
Köşeli parantezler kendi kümenizi tanımlamanızı sağlar: İçeride listelenen karakterlerden herhangi biriyle eşleşir. Aralıklar kısa çizgi kullanır.
[aeiou]— herhangi bir sesli harf[A-Za-z]— herhangi bir harf[0-9]— herhangi bir rakam (\dile aynıdır)
import re
print(re.findall("[A-Za-z]", "ab12CD")) # letters only
print(re.findall("[aeiou]", "hello")) # ["e", "o"][^ ] ile Terslenmiş Kümeler
Köşeli parantezlerin içindeki şapka işareti kümeyi tersler: Listelenmeyen herhangi bir karakterle eşleşir.
[^abc], a, b veya c dışındaki her şeyle eşleşir. (Köşeli parantezlerin dışındaki şapka işareti bir çapadır; bunu bir sonraki bölümde ele alacağız.)
import re
print(re.findall("[^aeiou ]", "hello world"))
# consonants: ["h", "l", "l", "w", "r", "l", "d"]Çapalar: ^ ve $
Çapalar karakterlerle değil, konumlarla eşleşir:
^— dizenin (veya satırın) başlangıcı$— dizenin (veya satırın) sonu
^Hello, yalnızca metin "Hello" ile başlıyorsa eşleşir.
import re
print(bool(re.search("^Hello", "Hello world"))) # True
print(bool(re.search("world$", "Hello world"))) # True
print(bool(re.search("^world", "Hello world"))) # FalseNiceleyiciler: + * ?
Niceleyiciler, kendilerinden önceki öğenin kaç kez tekrarlandığını belirtir:
+— bir veya daha fazla*— sıfır veya daha fazla?— sıfır veya bir (isteğe bağlı)
import re
print(re.findall("\d+", "abc 123 de 45")) # ["123", "45"]
print(re.findall("ab*", "a ab abb")) # ["a", "ab", "abb"]
print(re.findall("colou?r", "color colour")) # both matchAralık Niceleyicisi {n,m}
Süslü parantezler tam bir sayı veya aralık belirtir:
{3}— tam olarak 3{2,4}— 2 ile 4 arasında{2,}— 2 veya daha fazla
ZIP kodları veya telefon numarası bölümleri gibi sabit uzunluklu öğeler için idealdir.
import re
print(re.findall("\d{3}", "12 345 6789")) # ["345", "678"]
print(re.findall("\d{2,4}", "1 22 3333 55555"))Parçaları Birleştirme
Gerçek kalıplar sınıfları, kümeleri, çapaları ve niceleyicileri birleştirir. Aşağıdaki kalıp, 555-123-4567 gibi basit bir US telefon numarasıyla eşleşir:
\d{3}-\d{3}-\d{4} — üç rakam, kısa çizgi, üç rakam, kısa çizgi, dört rakam.
import re
text = "Call 555-123-4567 or 999-888-7777"
print(re.findall("\d{3}-\d{3}-\d{4}", text))
# ["555-123-4567", "999-888-7777"]Hızlı Kontrol: Niceleyiciler
Ardışık gelen bir veya daha fazla rakamla eşleşmek istiyorsunuz.
Özet: Kalıplar ve Karakter Sınıfları
Artık düzenli ifadelerin yapı taşlarını biliyorsunuz:
- Değişmezler ve
.joker karakteri \d \w \ssınıfları ve bunların tersleri\D \W \S- Özel kümeler
[A-Za-z]ve terslenmiş kümeler[^abc] ^ve$çapaları+ * ?niceleyicileri ve{n,m}aralıkları
Sıradaki konu: Python re modülünün işlevleri.
Sıkça Sorulan Sorular
“Düzenli İfade Örüntüleri ve Karakter Sınıfları” dersi ücretsiz mi?
Evet — “Düzenli İfade Örüntüleri ve Karakter Sınıfları” 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 Learn AI with Python kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Learn AI with Python kursu toplamda 4 dersten oluşur.
“Düzenli İfade Örüntüleri ve Karakter Sınıfları” dersinde ne öğreneceğim?
\d, \w, \s, ., ^, $, +, *, ?, {n,m}, karakter sınıfları [a-z] ve olumsuzlama [^...]. Learn AI with Python 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.
Learn AI with Python öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Learn AI with Python, 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 İfade Örüntüleri ve Karakter Sınıfları” 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 Learn AI with Python dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Learn AI with Python 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 İfade Örüntüleri ve Karakter Sınıfları
- re Modülü: search, match, findall, sub
- Yakalama Grupları ve Adlandırılmış Gruplar
- Regex ile Yapay Zeka için Metin Temizleme