Wildcard Matching
Coddyの「再帰チャレンジ:再帰的思考をマスターしよう」コースのレッスン 15/15。
チャレンジ
難しい文字列 s とパターン p を受け取り、パターンが文字列に一致する場合は true を、そうでない場合は false を返す test という名前の関数を作成してください。
パターンには、文字、数字、空白、および以下のワイルドカードを含めることができます。
*- 文字、数字、空白の任意のシーケンスに一致します。.- 文字、数字、空白のちょうど1つに一致します。?- オプションで文字、数字、空白の任意のシーケンスに一致します。
例:
test("My name is Jake", "My name is *")->truetest("My name is Jake", "Your name is *")->falsetest("Maximum", "M..imum")->truetest("Mimum", "M?imum")->truetest("Minimum", "K?imum")->false
パターンは部分文字列ではなく、文字列の全体に一致する必要があります。
自分で試してみよう
int test(char* s, char* p) {
// ここにコードを記述してください
}