0Pricing
Ruby Academy · Ders

Eşleştirme ve Yakalama

match ve yakalamalar

Eşleştirme ve Yakalama, CoddyKit'te ücretsiz bir Ruby Academy dersidir. Bu, 4 dersinin 2. 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, Ruby Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Ruby Academy kursu toplamda 4 dersten oluşur.

MatchData Nesneleri

regex.match(string) çağrıldığında Ruby, başarılı olursa bir MatchData nesnesi, başarısız olursa nil döndürür.

MatchData, eşleşen metni ve yakalanan grupları tutar.

m = /world/.match('hello world')
puts m.class
puts(m[0])

Tüm Eşleşme: 0. İndeks

Bir MatchData nesnesinin 0 indeksinde, gruplardan bağımsız olarak her zaman eşleşen alt dizenin tamamı bulunur.

m = /\d+/.match('order 4521 shipped')
puts(m[0])
puts(m.to_s)

Yakalama Grupları

Parantezler ( ) yakalama grupları oluşturur. Her gruba 1'den başlayan bir numarayla erişebilirsiniz.

m = /(\d{4})-(\d{2})/.match('2026-05')
puts(m[1])
puts(m[2])

captures Yöntemi

captures, 0. indeksteki tüm eşleşme hariç, yakalanan tüm gruplardan oluşan bir dizi döndürür.

m = /(\w+)@(\w+)/.match('alice@example')
p m.captures

Yakalamaları Yapıdan Çıkarma

captures bir dizi döndürdüğü için sonucu doğrudan değişkenlere yapıdan çıkarabilirsiniz.

user, host = /(\w+)@(\w+)/.match('bob@server').captures
puts user
puts host

Eşleşme Öncesi ve Sonrası

MatchData, eşleşmenin çevresindeki metin için yardımcı yöntemler sunar:

  • pre_match öncesindeki bölüm
  • post_match sonrasındaki bölüm
m = /\d+/.match('abc123xyz')
puts(m.pre_match)
puts(m.post_match)

Tüm Eşleşmeler için scan

String#scan, yalnızca ilk eşleşmeyi değil, dizedeki her eşleşmeyi içeren bir dizi döndürür.

nums = '12 cats, 8 dogs, 3 birds'.scan(/\d+/)
p nums

Gruplarla scan

Örüntünüzde gruplar varsa scan, her eşleşme için bir tane olmak üzere, her biri o eşleşmenin yakalamalarını içeren dizi dizisi döndürür.

pairs = 'a=1 b=2 c=3'.scan(/(\w)=(\d)/)
p pairs

nil Değerini Güvenle İşleme

Hiçbir şey eşleşmediğinde match yönteminin nil döndürdüğünü her zaman unutmayın. Sonucu kullanmadan önce bunu denetleyin.

m = /(\d+)/.match('no digits here')
if m
  puts m[1]
else
  puts 'no match found'
end

Özel Değişkenler

Başarılı bir eşleşmeden sonra Ruby, genel değişkenleri ayarlar: $~ MatchData nesnesidir; $1 ve $2 ise numaralandırılmış yakalamalardır.

Bunlar kısa betiklerde kullanışlıdır, ancak gerçek kodda açıkça MatchData kullanmak daha anlaşılırdır.

if 'name: Alice' =~ /name: (\w+)/
  puts $1
end

Tarih Çıkarma

Grupları ve yakalamaları birleştirerek yapılandırılmış verileri tek adımda bir dizeden çıkarın.

year, month, day = /(\d{4})-(\d{2})-(\d{2})/.match('2026-05-29').captures
puts "Year #{year}, Month #{month}, Day #{day}"

Hızlı Kontrol

'a=1 b=2'.scan(/(\w)=(\d)/) verildiğinde, sonucun yapısı nedir?

Özet: Eşleştirme ve Yakalama

Artık eşleşmelerden veri çıkarabilirsiniz:

  • match MatchData veya boş değer döndürür
  • 0. indeks tüm eşleşmedir, 1 ve üzeri indeksler gruplardır
  • captures tüm grupları bir dizi olarak döndürür
  • scan dizedeki her eşleşmeyi bulur
  • nil değerini her zaman denetleyin
p 'x1 y2 z3'.scan(/([a-z])(\d)/)

Sıkça Sorulan Sorular

“Eşleştirme ve Yakalama” dersi ücretsiz mi?

Evet — “Eşleştirme ve Yakalama” 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 Ruby Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Ruby Academy kursu toplamda 4 dersten oluşur.

“Eşleştirme ve Yakalama” dersinde ne öğreneceğim?

match ve yakalamalar Ruby Academy 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.

Ruby Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Ruby Academy, 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 2. dersidir.

“Eşleştirme ve Yakalama” 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 Ruby Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Ruby Academy 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 Değişmezleri
  2. Eşleştirme ve Yakalama
  3. Yerine Koyma
  4. Adlandırılmış Gruplar ve Çapalar
← Ruby Academy Sayfasına Dön