0Pricing
Learn AI with Python · Ders

Yakalama Grupları ve Adlandırılmış Gruplar

Yakalama için parantezler, (?P ...) adlandırılmış grupları, re.fullmatch(), ileriye/geriye bakış.

Yakalama Grupları ve Adlandırılmış Gruplar, CoddyKit'te ücretsiz bir Learn AI with Python dersidir. Bu, 4 dersinin 3. 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.

Gruplar Neden Kullanılır

Gruplar, bir eşleşmenin bölümlerini ayırarak tam olarak istediğiniz parçayı çıkarmanızı sağlar: telefon numarasındaki alan kodu, tarihteki yıl veya e-postadaki kullanıcı adı gibi.

Bu derste yakalama, adlandırılmış ve yakalamasız grupları ve bakış ifadelerini ele alacağız.

( ) ile Yakalama Grupları

Bir kalıbın bir bölümünü parantez içine alarak onu yakalayın. Eşleşmenin tamamına ve her gruba Match nesnesi üzerinden erişilebilir.

import re

m = re.search("(\d{4})-(\d{2})-(\d{2})", "Date: 2026-05-29")
print(m.group())    # "2026-05-29" (whole match)
print(m.group(1))   # "2026"
print(m.group(2))   # "05"

match.group, groups, groupdict

Yararlı erişim yöntemleri:

  • m.group(0) — eşleşmenin tamamı
  • m.group(n) — n'inci yakalama
  • m.groups() — tüm yakalamaların demeti
import re

m = re.search("(\d{4})-(\d{2})-(\d{2})", "2026-05-29")
print(m.groups())   # ("2026", "05", "29")
year, month, day = m.groups()

(?P<name>...) ile Adlandırılmış Gruplar

Grupları numaralandırmak kırılgan hale gelir. Adlandırılmış gruplar, yakalamalara anlamlı bir adla başvurabilmeniz için (?P<name>...) kullanır.

import re

m = re.search("(?P<year>\d{4})-(?P<month>\d{2})-(?P<day>\d{2})", "2026-05-29")
print(m.group("year"))   # "2026"
print(m.group("month"))  # "05"

Yapılandırılmış Çıktı için groupdict

m.groupdict(), tüm adlandırılmış grupları bir sözlük olarak döndürür — eşleşen metni yapılandırılmış kayıtlara dönüştürmek için idealdir.

import re

m = re.search("(?P<year>\d{4})-(?P<month>\d{2})-(?P<day>\d{2})", "2026-05-29")
print(m.groupdict())
# {"year": "2026", "month": "05", "day": "29"}

Yakalamasız Gruplar (?:...)

Bazen yalnızca gruplama amacıyla (örneğin bir niceleyici uygulamak için) parantezlere ihtiyaç duyarsınız; ancak bir yakalama istemezsiniz. (?:...) kullanın.

Bu, grup numaralandırmanızı düzenli tutar.

import re

# Group "ab" so + applies, but do not capture it
m = re.search("(?:ab)+(\d+)", "ababab42")
print(m.group(1))   # "42" -> group 1 is the digits, not "ab"

Geri Başvurular

Geri başvuru \1, bir grubun daha önce yakaladığı metnin aynısıyla eşleşir. Tekrarlanan sözcükleri bulmak için kullanışlıdır.

import re

# Find a word repeated twice in a row
print(re.findall("(\w+) \1", "the the cat cat sat"))
# ["the", "cat"]

İleriye Bakış (?=...)

pozitif ileriye bakış (?=...), tüketmeden neyin gelmesi gerektiğini doğrular. Doğrulanan metin eşleşmenin bir parçası değildir.

Burada yalnızca ardından "px" geliyorsa bir sayıyla eşleşiyoruz.

import re

print(re.findall("\d+(?=px)", "10px 20em 30px"))
# ["10", "30"]  -> "20" skipped (not followed by px)

Negatif İleriye Bakış (?!...)

negatif ileriye bakış (?!...), neyin gelmemesi gerektiğini doğrular. Sayıyla yalnızca ardından "px" gelmiyorsa eşleşin.

import re

print(re.findall("\d+(?!px)", "10px 20em 30px"))
# matches numbers not followed directly by px

Geriye Bakış (?<=...) ve (?<!...)

Geriye bakış, tüketmeden eşleşmeden önce neyin geldiğini doğrular:

  • (?<=...) pozitif — öncesinde bulunmalıdır
  • (?<!...) negatif — öncesinde bulunmamalıdır

Burada, işareti yakalamadan dolar işaretinin önünde bulunduğu miktarları alıyoruz.

import re

print(re.findall("(?<=\$)\d+", "price $50 and 60 units"))
# ["50"]  -> only the amount after $

Grupları ve İleri/Geri Bakışları Birleştirme

Gerçek veri çıkarıcılar bu araçları birlikte kullanır. Bu desen, önünde bir para birimi sembolü ve ardından ondalık bir bölüm bulunması gereken adlandırılmış bir fiyatı alır:

import re

text = "Total: $1299.99 paid"
m = re.search("(?<=\$)(?P<amount>\d+)\.(?P<cents>\d{2})", text)
print(m.group("amount"), m.group("cents"))   # 1299 99

Hızlı Kontrol: Adlandırılmış Gruplar

Eşleşmeleri bir sayı yerine "year" gibi okunabilir bir adla çıkarmak istiyorsunuz.

Özet: Gruplar ve İleri/Geri Bakışlar

Artık metinden kesin yapılar çıkarabilirsiniz:

  • ( ) yakalayan gruplar; m.group(n) ve m.groups() ile
  • (?P<name>...) adlandırılmış gruplar; m.groupdict() ile
  • Temiz gruplama için yakalamayan gruplar (?:...)
  • Tekrarlar için geri başvurular \1
  • İleriye bakış (?=)/(?!) ve geriye bakış (?<=)/(?<!)

Sıradaki adım: yapay zekâ için metni temizlemek üzere hepsini bir araya getirmek.

Sıkça Sorulan Sorular

“Yakalama Grupları ve Adlandırılmış Gruplar” dersi ücretsiz mi?

Evet — “Yakalama Grupları ve Adlandırılmış Gruplar” 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.

“Yakalama Grupları ve Adlandırılmış Gruplar” dersinde ne öğreneceğim?

Yakalama için parantezler, (?P ...) adlandırılmış grupları, re.fullmatch(), ileriye/geriye bakış. 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 3. dersidir.

“Yakalama Grupları ve Adlandırılmış Gruplar” 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