Menu
CoddyTech

Regular Expression Matching

Otrzymujesz ciąg znaków s i wzorzec p. Wzorzec dopasowuje daną literę do tej samej litery, kropka . dopasowuje dowolną pojedynczą literę, a gwiazdka * oznacza zero lub więcej wystąpień elementu bezpośrednio przed nią, którym jest litera lub kropka. Zwróć true, jeśli wzorzec dopasowuje cały ciąg s, a w przeciwnym razie false.

Funkcja

isMatch(s: string, p: string) → boolean
sstring
ciąg znaków do dopasowania, tylko małe litery
pstring
wzór z liter, kropek i gwiazdek
Zwracaboolean
true, jeśli p pasuje do całego s, w przeciwnym razie false

Ograniczenia

  • 1 ≤ s.length ≤ 1000
  • 1 ≤ p.length ≤ 1000
  • s zawiera wyłącznie małe litery alfabetu angielskiego.
  • p zawiera wyłącznie małe litery angielskiego alfabetu, . i *.
  • Każdy znak * występuje po literze lub ., więc p nigdy nie zaczyna się od * i nigdy nie ma dwóch gwiazdek z rzędu.

Przykłady

Wejście
s = "moon"p = "mo*n"
Wyjście
true
Wyjaśnienie
o* uwzględnia obie litery o, więc m, o* i n tworzą dokładnie moon.
challenge icon

Pytanie dodatkowe

Czy możesz również obsługiwać +, jedną lub więcej kopii elementu przed nim, za pomocą tej samej tabeli?

Zresetuj kod
def isMatch(s, p):
    # Wpisz kod tutaj

Test #1

Test #2

Test #3

Argumenty

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

Oczekiwany wynik

true