Menu
CoddyTech

Regular Expression Matching

Ricevi 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ù ripetizioni dell’elemento che lo precede, che può essere una lettera o un punto. Restituisci true se il pattern corrisponde all’intera s, non solo a una sua parte, 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.

lock icon+29 test nascosti all’invio

challenge icon

Per approfondire

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

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

Caso 1

Caso 2

Caso 3

Input

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

Atteso

true