Menu
CoddyTech

Regular Expression Matching

Vous obtenez une chaîne s et un motif p. Dans le motif, une lettre correspond à cette même lettre, un point . correspond à n’importe quelle lettre, et une étoile * signifie zéro ou plusieurs occurrences de l’élément qui la précède, qui est une lettre ou un point. Retournez true si le motif correspond à l’ensemble de s, et false sinon.

Fonction

isMatch(s: string, p: string) → boolean
sstring
la chaîne à faire correspondre, lettres minuscules uniquement
pstring
le motif de lettres, de points et d’astérisques
Renvoieboolean
true si p correspond à tout s, false sinon

Contraintes

  • 1 ≤ s.length ≤ 1000
  • 1 ≤ p.length ≤ 1000
  • s ne contient que des lettres minuscules anglaises.
  • p contient uniquement des lettres minuscules anglaises, . et *.
  • Chaque * suit une lettre ou un ., donc p ne commence jamais par * et n’a jamais deux astérisques à la suite.

Exemples

Entrée
s = "moon"p = "mo*n"
Sortie
true
Explication
o* prend les deux lettres o, donc m, o* et n forment exactement moon.
challenge icon

Pour aller plus loin

Peux-tu aussi prendre en charge +, une ou plusieurs copies de l’élément qui le précède, avec le même tableau ?

Réinitialiser le code
def isMatch(s, p):
    # Écrivez le code ici

Test #1

Test #2

Test #3

Arguments

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

Résultat attendu

true