Menu
CoddyTech

Đối sánh ký tự đại diện

Bài học 15 trên 15 trong khóa học Thử thách đệ quy: làm chủ tư duy đệ quy của Coddy.

challenge icon

Thử thách

Khó

Viết một hàm có tên test, nhận một chuỗi s và một mẫu p, rồi trả về true nếu mẫu khớp với chuỗi, nếu không thì trả về false.

Mẫu có thể chứa chữ cái, chữ số, khoảng trắng và các ký tự đại diện sau:

  • * - khớp với bất kỳ chuỗi nào gồm chữ cái, chữ số và khoảng trắng.
  • . - khớp với chính xác một chữ cái, chữ số hoặc khoảng trắng.
  • ? - khớp tùy chọn với bất kỳ chuỗi nào gồm chữ cái, chữ số và khoảng trắng.

Ví dụ:

  • 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 

Mẫu phải khớp với toàn bộ chuỗi, không chỉ một phần của chuỗi!

Tự làm thử

int test(char* s, char* p) {
    // Viết code ở đây
}

Tất cả bài học trong Thử thách đệ quy: làm chủ tư duy đệ quy

Tự luyện tập: Trình biên dịch C online