Menu
CoddyTech

通配符匹配

Coddy 递归挑战:掌握递归思维 课程的第 15 课,共 15 课。

challenge icon

挑战

困难

编写一个名为 test 的函数,它接收一个字符串 s 和一个模式 p。如果模式与字符串匹配,则返回 true,否则返回 false。

模式可以包含字母、数字、空白字符和以下通配符:

  • * - 匹配任意字母、数字和空白字符序列。
  • . - 恰好匹配一个字母、数字或空白字符。
  • ? - 可选择匹配任意字母、数字和空白字符序列。

示例:

  • 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 

模式必须与整个字符串匹配,不能只匹配其中一部分!

亲手试试

int test(char* s, char* p) {
    // 在这里编写代码
}

递归挑战:掌握递归思维中的所有课

自己练习: C 在线编译器