1. Learn
  2. /
  3. Courses
  4. /
  5. Regular Expressions nâng cao trong R

Connected

Exercise

Dấu hỏi và hai ý nghĩa của nó

Toán tử or rất hữu ích khi bạn biết chính xác các lựa chọn hợp lệ và chắc chắn rằng có ít nhất một lựa chọn xuất hiện. Nhưng nếu bạn muốn khớp một mẫu mà trong đó một phần lúc có lúc không thì sao? Đây là lúc dấu hỏi ? xuất hiện:

? có thể biến ký tự hoặc nhóm đứng trước thành tùy chọn. Nhờ đó, biểu thức chính quy vẫn khớp ngay cả khi một phần nào đó của mẫu bị thiếu. Nhưng lưu ý, nếu nó đứng sau một bộ nhân như * hoặc +, dấu hỏi có thể có thêm một tác dụng thứ hai:

? cũng có thể biến bộ nhân đứng trước thành "lười" (lazy) thay vì "tham lam" (greedy). Điều này có nghĩa là thay vì tìm số ký tự tối đa, ? sẽ khiến biểu thức chính quy tìm số khớp tối thiểu.

Instructions

100 XP
  • Khớp cả số ít "Screen" và số nhiều "Screens" bằng cách cho "s" cuối cùng là tùy chọn.
  • Khớp một lượng ký tự bất kỳ ngẫu nhiên trước dấu phẩy bằng cách dùng .*.
  • Khớp cùng mẫu đó nhưng thêm dấu hỏi ? sau dấu sao — bạn có nhận ra sự khác biệt không?