0Pricing
Learn AI with Python · Ders

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 (\d ile 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")))  # False

Niceleyiciler: + * ?

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 match

Aralı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 \s sı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

  1. Düzenli İfade Örüntüleri ve Karakter Sınıfları
  2. re Modülü: search, match, findall, sub
  3. Yakalama Grupları ve Adlandırılmış Gruplar
  4. Regex ile Yapay Zeka için Metin Temizleme
← Learn AI with Python Sayfasına Dön