Menu
Coddy logo textTech

Wildcard Matching

Lição 15 de 15 do curso Desafios de Recursão - Domine o Pensamento Recursivo da Coddy.

challenge icon

Desafio

Difícil

Escreva uma função chamada test que recebe uma string s e um padrão p e retorna true se o padrão corresponder à string, caso contrário, false.

O padrão pode conter letras, números, espaços em branco e os seguintes curingas,

  • * - corresponde a qualquer sequência de letras, números e espaços em branco.
  • . - corresponde a exatamente um caractere (letra, número ou espaço em branco).
  • ? - opcionalmente corresponde a qualquer sequência de letras, números e espaços em branco.

Exemplos,

  • test("My name is Jake", "My name is *")  ->  true
  • test("My name is Jake", "Your name is *")  ->  false
  • test("Maximum", "M..imum")  ->  true 
  • test("Mimum", "M?imum")  ->  true 
  • test("Minimum", "K?imum")  ->  false 

O padrão deve corresponder a toda a string, não apenas a uma substring parcial!

Experimente você mesmo

int test(char* s, char* p) {
    // Escreva o código aqui
}

Todas as lições de Desafios de Recursão - Domine o Pensamento Recursivo