Menu
CoddyTech

Regular Expression Matching

Hai una stringa s e un pattern p. Nel pattern, una lettera corrisponde alla stessa lettera, un punto . corrisponde a una qualsiasi lettera e un asterisco * indica zero o più copie dell'elemento che lo precede, che può essere una lettera o un punto. Restituisci true se il pattern corrisponde all'intera s e false altrimenti.

Funzione

isMatch(s: string, p: string) → boolean
sstring
la stringa da confrontare, solo lettere minuscole
pstring
lo schema di lettere, punti e asterischi
Restituisceboolean
true se p corrisponde a tutto s, false altrimenti

Vincoli

  • 1 ≤ s.length ≤ 1000
  • 1 ≤ p.length ≤ 1000
  • s contiene solo lettere minuscole inglesi.
  • p contiene solo lettere inglesi minuscole, . e *.
  • Ogni * segue una lettera o un ., quindi p non inizia mai con * e non ha mai due asterischi consecutivi.

Esempi

Input
s = "moon"p = "mo*n"
Output
true
Spiegazione
o* prende entrambe le lettere o, quindi m, o* e n formano esattamente moon.
challenge icon

Per approfondire

Puoi supportare anche +, una o più copie dell’elemento che lo precede, con la stessa tabella?

Ripristina il codice
def isMatch(s, p):
    # Scrivi il codice qui

Test #1

Test #2

Test #3

Argomenti

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

Output atteso

true