Menu
Coddy logo textTech

Dopasowanie z symbolami wieloznacznymi

Lekcja 15 z 15 w kursie Wyzwania z rekurencji — opanuj myślenie rekurencyjne w Coddy.

challenge icon

Wyzwanie

Trudny

Napisz funkcję o nazwie test, która przyjmuje ciąg znaków s i wzorzec p, a następnie zwraca true, jeśli wzorzec pasuje do ciągu znaków, w przeciwnym razie false.

Wzorzec może zawierać litery, cyfry, białe znaki oraz następujące symbole wieloznaczne:

  • * - pasuje do dowolnej sekwencji liter, cyfr i białych znaków.
  • . - pasuje do dokładnie jednej litery, cyfry lub białego znaku.
  • ? - opcjonalnie pasuje do dowolnej sekwencji liter, cyfr i białych znaków.

Przykłady:

  • 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 

Wzorzec musi pasować do całego ciągu znaków, a nie tylko do jego fragmentu!

Spróbuj swoich sił

int test(char* s, char* p) {
    // Wpisz kod tutaj
}

Wszystkie lekcje w sekcji Wyzwania z rekurencji — opanuj myślenie rekurencyjne

Poćwicz samodzielnie: Kompilator C online