BaşlayınÜcretsiz Başlayın

Soru işareti ve iki anlamı

Veya (or) işleci, hangi seçeneklerin geçerli olduğunu tam olarak bildiğinde ve seçeneklerden birinin mutlaka bulunduğundan emin olduğunda iyidir. Peki ya kalıbın bir bölümünün bazen var olduğu, bazen de olmadığı bir deseni eşleştirmek istersen? İşte burada soru işareti ? devreye girer:

?, önceki grubu veya karakteri isteğe bağlı hale getirebilir. Bununla, düzenli ifade, desenin belirli bir kısmı eksik olsa bile eşleşir. Ama dikkat: Eğer * veya + gibi bir çarpanın ardından gelirse, soru işareti ikinci bir etkiye sahip olabilir:

? ayrıca önceki çoğaltıcıyı (multiplier) "açgözlü" yerine "tembel" yapabilir. Bu, düzenli ifadelerin mümkün olan en fazla sayıda karakteri araması yerine, ? işaretinin en az sayıda eşleşmeyi bulma gücüne sahip olduğu anlamına gelir.

Bu egzersiz

R ile Orta Düzey Düzenli İfadeler

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • Son "s" harfini isteğe bağlı yaparak hem tekil "Screen" hem de çoğul "Screens" eşleşsin.
  • Bir virgülden önce rastgele sayıda herhangi karakteri .* kullanarak eşle.
  • Aynı deseni yıldızdan sonra bir soru işareti ? ile eşle — farkı görebiliyor musun?

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# Match both Screen and Screens by making the last "s" optional
str_match(lines, pattern = "Screens___")

# Match a random amount of arbitrary characters, followed by a comma
str_match(lines, pattern = "___,")

# Match the same pattern followed by a comma, but the "lazy" way
str_match(lines, pattern = "___,")
Kodu Düzenle ve Çalıştır