01/10/2018, 10:22
Raw string trong regex object trong Python
Các cao thủ python cho mình hỏi: Tại sao ta phải thường sử dụng raw string khi tạo REGEX OBJECT
ví dụ: phoneNumRegex = re.compile(r'ddd-ddd-dddd')
. Nhưng ta không cần dùng vẫn được
ví dụ: phoneNumRegex = re.compile('ddd-ddd-dddd')
.
Bài liên quan
Tên gọi nói lên tất cả.
xem ví dụ sau nếu chưa hiểu mình sẽ giải thích thêm
ok hiểu nhưng tại sao phải dùng nó
tại sao phải dùng nó trong khi ta có the không dùng nó
Đôi khi có một số gọi là rules, Lí do phải dùng
raw string
là để không nhầm lẫnescape sequence
. Và may mắn thay\d
không phải rơi vào trường hợpescape sequence
. Đoạn của bạn còn rất là ngắn chỉ đơn giản là kiểm tra số điện thoại thôi (hình như là boring stuff) nhưng khi bạn có các đoạnregular expression
phức tạp hơn. Như là kiểm tra đường dẫn thư mục chẳng hạn (nếu đọc tiếp sẽ có phần đó, khá hay). Thì bên WindowsC:\User...
Liệu bạn có đoán được lần nào thư mục sẽ bắt đầu bằng kí tựn
để rồi nối với\n
thành một cái hoàn toàn khác. Cho nên luôn phảiraw-string
như một thói quen. Mà cái này cũng tùy vào bạn thôi, và cũng tùy người đọc code nữa, có người cho đó là ẩu, cũng có người không.Edit: Tùy vào tình huống mà ứng biết