What character do you add to the "+" or "*" to indicate that the match is to be done in a non-greedy manner?

4 phương ánCó giải thích

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "?". Trong biểu thức chính quy (regular expression), + và * mặc định là tham lam (greedy): chúng khớp chuỗi dài nhất có thể. Thêm dấu chấm hỏi ngay sau chúng thành +? hoặc *? biến chúng thành không tham lam (non-greedy), khớp chuỗi ngắn nhất thoả mẫu; ví dụ re.findall('^F.+?:', 'From: Using the :') cho ['From:'] thay vì cả đoạn tới dấu hai chấm cuối. "++" sai vì trong mô-đun re dấu cộng đôi chỉ được hỗ trợ từ Python 3.11 và mang nghĩa possessive (chiếm hữu, không quay lui), không phải non-greedy. "$" sai vì nó neo vị trí cuối chuỗi hoặc cuối dòng. "^" sai vì nó neo đầu chuỗi, hoặc trong ngoặc vuông như [^a] thì mang nghĩa phủ định tập ký tự.

Cùng phần 3

Xuất hiện trong 1 bộ đề