Menu
CoddyTech

Regular Expression Matching

Bir s dizesi ve bir p deseni veriliyor. Desende, bir harf aynı harfle eşleşir, bir nokta . herhangi bir harfle eşleşir ve yıldız *, hemen önündeki harf veya nokta olan öğenin sıfır veya daha fazla kopyası anlamına gelir. Desen, s dizgesinin 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 dizge, yalnızca küçük harfler
pstring
harfler, noktalar ve yıldızlardan oluşan desen
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 harfi ya da bir . karakterini izler; 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* hem iki o harfini de alır, böylece m, o* ve n birlikte tam olarak moon yazar.
challenge icon

Ek soru

Aynı tabloyla, önündeki öğenin bir veya daha fazla kopyasını eşleştiren + işlecini de destekleyebilir misin?

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

Test #1

Test #2

Test #3

Argümanlar

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

Beklenen Çıktı

true