Menu
CoddyTech

Regular Expression Matching

Se te dan 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 repeticiones del elemento que lo precede, que puede ser una letra o un punto. Devuelve true si el patrón coincide con toda la cadena s 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
true si p coincide con todo s, false 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 * y nunca 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 forman exactamente moon.
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í

Prueba #1

Prueba #2

Prueba #3

Argumentos

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

Salida Esperada

true