Menu
CoddyTech

Regular Expression Matching

Bir s dizgeniz ve bir p deseniniz var. Desende bir harf aynı harfle eşleşir, bir nokta . herhangi bir harfle eşleşir ve yıldız *, hemen önündeki öğenin (bir harf veya nokta) sıfır ya da daha fazla kez tekrarlanması anlamına gelir. Desen, s dizgesinin yalnızca bir bölümüyle değil, tamamıyla eşleşiyorsa true, aksi hâlde false döndürün.

Fonksiyon

isMatch(s: string, p: string) → boolean
sstring
eşleştirilecek dize, yalnızca küçük harfler
pstring
harflerin, noktaların ve yıldızların deseni
Döndürürboolean
p, s'nin tamamıyla eşleşiyorsa true, aksi takdirde false

Kısıtlar

  • 1 ≤ s.length ≤ 1000
  • 1 ≤ p.length ≤ 1000
  • s yalnızca küçük İngilizce harfler içerir.
  • p yalnızca küçük İngilizce harfler, . ve * içerir.
  • Her *, bir harfin veya . işaretinin ardından gelir; bu nedenle p hiçbir zaman * ile başlamaz ve art arda iki yıldız içermez.

Örnekler

Girdi
s = "moon"p = "mo*n"
Çıktı
true
Açıklama
o* iki o harfini de alır; böylece m, o* ve n birlikte tam olarak moon sözcüğünü oluşturur.

lock iconGönderirken +29 gizli test

challenge icon

Ek soru

Öncesindeki öğenin bir veya daha fazla kopyasını, aynı tabloyla + için de destekleyebilir misin?

Kodu sıfırla
def isMatch(s, p):
    # Kodu buraya yazın
Test durumları

Durum 1

Durum 2

Durum 3

Girdi

s = "moon"
p = "mo*n"

Beklenen

true