Menu
CoddyTech

Regular Expression Matching

Você recebe uma string s e um padrão p. No padrão, uma letra corresponde à mesma letra, um ponto . corresponde a qualquer letra, e um asterisco * significa zero ou mais cópias do elemento imediatamente anterior, que é uma letra ou um ponto. Retorne true se o padrão corresponder a todo o conteúdo de s, e não apenas a uma parte dele, e false caso contrário.

Função

isMatch(s: string, p: string) → boolean
sstring
a string a ser correspondida, somente letras minúsculas
pstring
o padrão de letras, pontos e asteriscos
Retornaboolean
verdadeiro se p corresponder a todo s, falso caso contrário

Restrições

  • 1 ≤ s.length ≤ 1000
  • 1 ≤ p.length ≤ 1000
  • s contém apenas letras minúsculas do inglês.
  • p contém apenas letras minúsculas do alfabeto inglês, . e *.
  • Toda * vem depois de uma letra ou de um ., então p nunca começa com * e nunca tem dois asteriscos seguidos.

Exemplos

Entrada
s = "moon"p = "mo*n"
Saída
true
Explicação
o* pega as duas letras o, então m, o* e n formam exatamente moon.

lock icon+29 testes ocultos ao enviar

challenge icon

Para ir além

Você também pode oferecer suporte a +, uma ou mais cópias do elemento anterior, com a mesma tabela?

Redefinir código
def isMatch(s, p):
    # Escreva o código aqui
Casos de teste

Caso 1

Caso 2

Caso 3

Entrada

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

Esperado

true