Menu
CoddyTech

Regular Expression Matching

Du erhältst eine Zeichenfolge s und ein Muster p. Im Muster stimmt ein Buchstabe mit demselben Buchstaben überein, ein Punkt . stimmt mit einem beliebigen einzelnen Buchstaben überein und ein Sternchen * bedeutet null oder mehr Wiederholungen des Elements direkt davor, also eines Buchstabens oder eines Punktes. Gib true zurück, wenn das Muster auf die gesamte Zeichenfolge s passt, nicht nur auf einen Teil davon, andernfalls false.

Funktion

isMatch(s: string, p: string) → boolean
sstring
die abzugleichende Zeichenfolge, nur Kleinbuchstaben
pstring
das Muster aus Buchstaben, Punkten und Sternen
Gibt zurückboolean
wahr, wenn p auf ganz s passt, andernfalls falsch

Einschränkungen

  • 1 ≤ s.length ≤ 1000
  • 1 ≤ p.length ≤ 1000
  • s enthält nur englische Kleinbuchstaben.
  • p enthält nur englische Kleinbuchstaben, . und *.
  • Auf jedes * folgt ein Buchstabe oder ein ., daher beginnt p nie mit * und enthält nie zwei Sternchen hintereinander.

Beispiele

Eingabe
s = "moon"p = "mo*n"
Ausgabe
true
Erklärung
o* nimmt beide o-Buchstaben, sodass m, o* und n genau moon ergeben.

lock icon+29 versteckte Tests beim Einreichen

challenge icon

Weiterführende Frage

Kannst du mit derselben Tabelle auch + unterstützen, also eine oder mehrere Kopien des Elements davor?

Code zurücksetzen
def isMatch(s, p):
    # Schreibe hier Code
Testfälle

Fall 1

Fall 2

Fall 3

Eingabe

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

Erwartet

true