Menu
CoddyTech

Regular Expression Matching

Du erhältst eine Zeichenfolge s und ein Muster p. Im Muster entspricht ein Buchstabe genau demselben Buchstaben, ein Punkt . entspricht einem beliebigen einzelnen Buchstaben und ein Sternchen * bedeutet null oder mehr Wiederholungen des Elements direkt davor, also eines Buchstabens oder eines Punkts. Gib true zurück, wenn das Muster auf die gesamte Zeichenfolge s passt, 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 alle Elemente von s zutrifft, 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 *.
  • Jedes * folgt auf einen Buchstaben oder ein ., daher beginnt p nie mit * und enthält nie zwei Sterne hintereinander.

Beispiele

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

Weiterführende Frage

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

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

Test #1

Test #2

Test #3

Argumente

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

Erwartete Ausgabe

true