Menu
CoddyTech

Regular Expression Matching

Recibes una cadena s y un patrón p. En el patrón, una letra coincide con esa misma letra, un punto . coincide con cualquier letra, y un asterisco * significa cero o más copias del elemento que tiene justo antes, que es una letra o un punto. Devuelve true si el patrón coincide con toda la cadena s, no solo con una parte de ella, y false en caso contrario.

Función

isMatch(s: string, p: string) → boolean
sstring
la cadena que debe coincidir, solo letras minúsculas
pstring
el patrón de letras, puntos y asteriscos
Devuelveboolean
verdadero si p coincide con todo s, falso en caso contrario

Restricciones

  • 1 ≤ s.length ≤ 1000
  • 1 ≤ p.length ≤ 1000
  • s contiene solo letras minúsculas del inglés.
  • p contiene solo letras minúsculas del inglés, . y *.
  • Cada * va después de una letra o de un ., así que p nunca empieza con * ni tiene dos asteriscos seguidos.

Ejemplos

Entrada
s = "moon"p = "mo*n"
Salida
true
Explicación
o* toma ambas letras o, así que m, o* y n deletrean exactamente moon.

lock icon+29 pruebas ocultas al enviar

challenge icon

Para ir más allá

¿También puedes admitir +, una o más copias del elemento anterior, con la misma tabla?

Restablecer código
def isMatch(s, p):
    # Escribe el código aquí
Casos de prueba

Caso 1

Caso 2

Caso 3

Entrada

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

Esperado

true