Bài trước bạn học làm sạch dữ liệu SỐ (giá trị thiếu, trùng lặp). Nhưng rất nhiều dữ liệu thật là văn bản — và văn bản thường lộn xộn hơn số nhiều: sai định dạng, thừa khoảng trắng, viết hoa/thường không nhất quán. Regex là công cụ chuẩn để xử lý hàng loạt.
Regex là gì — hiểu qua 1 ví dụ cụ thể
Regex (regular expression) là cách viết ra 1 “mẫu hình” mà máy có thể tự tìm trong văn bản, thay vì bạn phải tự đọc và tìm bằng tay.
Vài mẫu quen thuộc — và cách áp dụng cho cả cột dữ liệu
Điểm mạnh nhất khi kết hợp regex với pandas: có thể áp 1 mẫu regex cho toàn bộ 1
cột dữ liệu cùng lúc bằng .str.replace() hoặc .str.extract() —
không cần viết vòng lặp thủ công qua từng dòng.
Xem thêm
Video này (tiếng Anh) dạy chi tiết cách viết và kiểm tra regex bằng module re của Python.
- Bạn giải thích được regex là gì bằng 1 ví dụ đơn giản (không cần thuật ngữ kỹ thuật).
- Bạn nhận diện được ý nghĩa của d+ và biết tra cứu thêm khi cần mẫu khác.
- Bạn biết cách áp 1 mẫu regex cho cả 1 cột dữ liệu pandas, không chỉ 1 dòng.
Không cần nhớ hết mọi ký hiệu regex — hầu hết người làm dữ liệu thật cũng phải tra cứu lại mỗi lần cần mẫu phức tạp. Kỹ năng quan trọng hơn là biết KHI NÀO nên dùng regex (dữ liệu văn bản có mẫu hình lặp lại) và cách kiểm tra kết quả regex có đúng ý muốn không.
Câu hỏi thường gặp
Regex có giống nhau ở mọi ngôn ngữ lập trình không?
Nguyên lý và hầu hết cú pháp giống nhau (Python, JavaScript, SQL đều dùng regex tương tự) — học regex 1 lần dùng được ở nhiều nơi, không chỉ riêng Python.
Làm sao kiểm tra 1 mẫu regex có đúng không trước khi áp cho cả dữ liệu lớn?
Nên test trên 1 mẫu nhỏ dữ liệu thật trước (regex101.com là công cụ online phổ biến để thử regex trực quan), tránh áp nhầm cho toàn bộ dữ liệu rồi mới phát hiện sai.
Có bắt buộc phải giỏi regex để làm phân tích dữ liệu không?
Không bắt buộc phải “giỏi” — chỉ cần biết đủ để xử lý các trường hợp phổ biến (số, email, khoảng trắng dư) đã giải quyết được phần lớn nhu cầu thực tế.
