Computer >> Máy Tính >  >> Lập trình >> Python

Tại sao chúng ta sử dụng ký tự dấu chấm hỏi trong biểu thức chính quy Python?


Chữ dấu chấm hỏi được sử dụng theo nhiều cách khác nhau trong Biểu thức chính quy Python

Ký tự đặc biệt '?'

Là một nhân vật đặc biệt '?' khiến RE kết quả khớp với 0 hoặc 1 lần lặp lại RE trước đó. ab? sẽ khớp với ‘a’ hoặc ‘ab’

Dấu chấm hỏi theo nghĩa đen '?' được sử dụng theo những cách sau theo tài liệu Python.

Làm cho bộ định lượng không tham lam

*?, +?, ??

Dấu '*', '+' và '?' vòng loại đều tham lam; chúng khớp với càng nhiều văn bản càng tốt. Đôi khi hành vi này không được mong muốn; nếu RE <. *> được so khớp với ' b ', nó sẽ khớp với toàn bộ chuỗi chứ không chỉ ''. Thêm? sau khi vòng loại bắt đầu thực hiện trận đấu theo phong cách không tham lam hoặc tối thiểu; càng ít ký tự càng tốt sẽ được khớp. Sử dụng RE <. *?> Sẽ chỉ khớp với ''.