0Pricing
Ruby Academy · Ders

Düzenli İfade Değişmezleri

Örüntü temelleri

Düzenli İfade Değişmezleri, CoddyKit'te ücretsiz bir Ruby Academy 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, 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.

Düzenli İfade Nedir

Bir düzenli ifade, metinle eşleştirme yapmak için kullanılan bir örüntüdür. Ruby'de düzenli ifadeler, Regexp sınıfının birinci sınıf nesneleridir.

Düzenli ifadeleri dizelerin bölümlerini aramak, doğrulamak ve çıkarmak için kullanırsınız.

  • Bir sözcüğü, rakamı veya simgeyi eşleştirme
  • E-posta adreslerini ve telefon numaralarını doğrulama
  • Düzensiz metinlerden parçalar çıkarma
pattern = /hello/
puts pattern.class
puts(pattern.match?('hello world'))

Eğik Çizgilerle Düzenli İfade Değişmezleri

Ruby'de düzenli ifade yazmanın en yaygın yolu, ifadeyi iki eğik çizgi arasına almaktır: /pattern/.

Buna düzenli ifade değişmezi denir. Eğik çizgiler arasındaki her şey örüntüdür.

ruby = /ruby/
puts ruby.class
puts(ruby.match?('I love ruby'))
puts(ruby.match?('I love python'))

=~ Eşleştirme İşleci

=~ işleci bir dizeyi düzenli ifadeye göre sınar. İlk eşleşmenin indeksini, eşleşme yoksa nil döndürür.

puts('hello world' =~ /world/)
puts(('hello world' =~ /xyz/).inspect)

Mantıksal Yanıt için match?

Yalnızca evet veya hayır yanıtına ihtiyacınız olduğunda match? kullanın. true veya false döndürür ve bir MatchData nesnesi oluşturmadığı için daha hızlıdır.

puts(/\d/.match?('abc123'))
puts(/\d/.match?('abcdef'))

Karakter Sınıfları

Köşeli parantezler içindeki bir karakter sınıfı, bir kümedeki herhangi bir tek karakterle eşleşir.

  • [abc] a, b veya c karakterlerinden biriyle eşleşir
  • [a-z] herhangi bir küçük harfle eşleşir
  • [0-9] herhangi bir rakamla eşleşir
puts(/[aeiou]/.match?('sky'))
puts(/[aeiou]/.match?('tree'))
puts(/[0-9]/.match?('room 7'))

Kısa Gösterimli Sınıflar

Ruby, yaygın karakter sınıfları için kısa gösterimli kaçışlar sağlar:

  • \d bir rakamı, \D rakam olmayan bir karakteri belirtir
  • \w bir sözcük karakterini belirtir (harfler, rakamlar, alt çizgi)
  • \s boşluk karakterini, \S boşluk olmayan karakteri belirtir
puts(/\d\d/.match?('age 42'))
puts(/\w+/.match?('hello_99'))
puts(/\s/.match?('no_space'))

Nokta ve Niceleyiciler

Nokta ., yeni satır dışındaki herhangi bir tek karakterle eşleşir. Niceleyiciler tekrarı denetler:

  • * sıfır veya daha fazla
  • + bir veya daha fazla
  • ? sıfır veya bir
  • {2,4} 2 ile 4 kez arasında
puts(/ab+c/.match?('abbbc'))
puts(/colou?r/.match?('color'))
puts(/\d{3}/.match?('id 451'))

Dikey Çizgiyle Alternatifler

Dikey çizgi |, OR anlamına gelir. cat|dog örüntüsü iki sözcükten herhangi biriyle eşleşir.

Daha büyük bir örüntünün içindeki alternatifleri gruplandırmak için parantez kullanın.

pet = /cat|dog/
puts(pet.match?('I have a dog'))
puts(pet.match?('I have a fish'))
puts(/^(yes|no)$/.match?('yes'))

Büyük-Küçük Harf Duyarsızlığı Bayrağı

Eşleştirmeyi büyük-küçük harfe duyarsız yapmak için kapanış eğik çizgisinin sonuna i bayrağını ekleyin.

Diğer kullanışlı bayraklar arasında m (nokta yeni satırla eşleşir) ve x (genişletilmiş, boşlukları yok sayar) bulunur.

puts(/ruby/i.match?('I love RUBY'))
puts(/ruby/.match?('I love RUBY'))

Dizelerden Düzenli İfade Oluşturma

Regexp.new ile çalışma zamanında düzenli ifade oluşturabilirsiniz. Özel karakterler içerebilecek kullanıcı girdilerini güvenle eklemek için Regexp.escape kullanın.

word = 'price'
pattern = Regexp.new(word)
puts(pattern.match?('the price is high'))
puts(Regexp.escape('a.b*c'))

Çapalara Genel Bakış

Çapalar karakterlerle değil, konumlarla eşleşir:

  • ^ bir satırın başlangıcı
  • $ bir satırın sonu
  • \A dizenin başlangıcı
  • \z dizenin sonu

Bunları daha sonra ayrıntılı olarak inceleyeceksiniz.

puts(/^Hello/.match?('Hello there'))
puts(/world$/.match?('hello world'))

Hızlı Kontrol

Bir düzenli ifade bir dizeyle eşleştiğinde =~ işleci ne döndürür?

Özet: Düzenli İfade Değişmezleri

Ruby düzenli ifadelerinin temellerini öğrendiniz:

  • Düzenli ifade değişmezleri /slashes/ arasına yazılır
  • =~ bir indeks, match? doğru/yanlış döndürür
  • Karakter sınıfları [ ] ve kısa gösterimler \d \w \s
  • Niceleyiciler * + ? {n,m} ve alternatifler |
  • i bayrağı eşleştirmeyi büyük-küçük harfe duyarsız yapar

Sırada eşleşen parçaları yakalayacaksınız.

puts(/\w+@\w+\.\w+/i.match?('USER@Mail.com'))

Sıkça Sorulan Sorular

“Düzenli İfade Değişmezleri” dersi ücretsiz mi?

Evet — “Düzenli İfade Değişmezleri” 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.

“Düzenli İfade Değişmezleri” dersinde ne öğreneceğim?

Örüntü temelleri 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 1. dersidir.

“Düzenli İfade Değişmezleri” 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