PYTHON REGEX
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Thông báo: Download 4 khóa học Python từ cơ bản đến nâng cao tại đây.

Tài liệu tham khảo nhanh về Regex trong Python

Biểu thức chính quy (regex) là một công cụ tốt trong lập trình, cho phép mình tìm kiếm, so khớp và thao tác trên chuỗi văn bản một cách hiệu quả. Trong Python, regex được hỗ trợ thông qua mô-đun re, cung cấp các hàm và cú pháp phong phú để làm việc với các mẫu chuỗi phức tạp. Để sử dụng regex một cách thành thạo, việc nắm vững các ký tự, định lượng, nhóm bắt, và các cờ là điều cần thiết. Tài liệu tham khảo nhanh này sẽ giúp bạn dễ dàng tra cứu và áp dụng các khái niệm regex trong Python, nâng cao khả năng xử lý chuỗi và giải quyết các bài toán lập trình một cách hiệu quả.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Tài liệu tham khảo nhanh về Regex trong Python

Trang này cung cấp một tài liệu tham khảo nhanh về biểu thức chính quy (regex) trong Python mà bạn có thể sử dụng khi làm việc với regex.

Character sets

Mẫu Ý nghĩa
\w Khớp một ký tự từ a-z, A-Z, 0-9, và gạch dưới (_)
\d Khớp một chữ số từ 0-9
\s Khớp khoảng trắng bao gồm \t, \n, \r và khoảng trắng
. Khớp bất kỳ ký tự nào ngoại trừ dòng mới
\W Khớp bất kỳ ký tự nào ngoại trừ ký tự từ
\D Khớp bất kỳ ký tự nào ngoại trừ chữ số
\S Khớp bất kỳ ký tự nào ngoại trừ khoảng trắng

Anchors trong Python

Mẫu Ý nghĩa
^ Khớp tại đầu chuỗi
$ Khớp tại cuối chuỗi
\b Khớp tại vị trí biên từ
\B Khớp tại vị trí không phải là biên từ

Quantifiers trong Python

Định lượng (Greedy) Định lượng (Lazy) Ý nghĩa
* *? Khớp phần tử trước nó 0 hoặc nhiều lần
+ +? Khớp phần tử trước nó 1 hoặc nhiều lần
? ?? Khớp phần tử trước nó 0 hoặc 1 lần
{n} {n}? Khớp phần tử trước nó chính xác n lần
{n,} {n,}? Khớp phần tử trước nó ít nhất n lần
{n,m} {n,m}? Khớp phần tử trước nó từ n đến m lần

Sets & Ranges trong Python

Mẫu Ý nghĩa
[XYZ] Khớp bất kỳ phần tử nào trong ba phần tử X, Y, và Z
[X-Y] Khớp phạm vi từ X đến Y
^[XYZ] Khớp bất kỳ phần tử nào ngoại trừ X, Y, và Z
^[X-Y] Khớp bất kỳ phần tử nào ngoại trừ trong phạm vi X đến Y

Nhóm Capturing trong Python

Mẫu Ý nghĩa
(X) Bắt X trong nhóm
(?P<name>X) Bắt X và gán tên cho nó
\N Tham chiếu đến nhóm bắt số N
\g<N> Tham chiếu đến nhóm bắt số N (cú pháp thay thế)

Alternation trong Python

Mẫu Ý nghĩa
X|Y Khớp X hoặc Y

Look Around trong Python

Mẫu Ý nghĩa
X(?=Y) Khớp X nhưng chỉ khi theo sau là Y
X(?!Y) Khớp X nhưng chỉ khi không theo sau là Y
(?<=Y)X Khớp X nếu trước nó có Y
(?<!Y)X Khớp X nếu trước nó không có Y

Hàm Regex trong Python

Bảng sau liệt kê các hàm regex từ mô-đun re.

Hàm Mô tả
findall() Trả về danh sách các kết quả khớp hoặc None
finditer() Trả về một iterator cung cấp tất cả các kết quả khớp không chồng chéo
search() Trả về kết quả khớp đầu tiên
fullmatch() Trả về đối tượng Match nếu toàn bộ chuỗi khớp với mẫu
match() Trả về kết quả khớp tại đầu chuỗi hoặc None
sub() Trả về chuỗi với phần khớp được thay thế bằng chuỗi thay thế
split() Chia chuỗi tại các vị trí khớp

Flags Regex trong Python

Cờ Alias Cờ nội tuyến Ý nghĩa
re.ASCII re.A ?m Cờ này chỉ liên quan đến các mẫu byte. Nó khiến \w, \W, \b, \B, \d, \D, và \S chỉ khớp ASCII thay vì khớp toàn bộ Unicode.
re.DEBUG N/A N/A Hiển thị thông tin debug của mẫu đã biên dịch.
re.IGNORECASE re.I ?i Khớp không phân biệt hoa thường. Có nghĩa là [A-Z] cũng sẽ khớp với chữ thường.
re.LOCALE re.L ?L Cờ này chỉ liên quan đến mẫu byte. Nó khiến \w, \W, \b, \B và khớp phân biệt hoa thường phụ thuộc vào ngôn ngữ hiện tại. Cờ này không tương thích với cờ re.ASCII.
re.MULTILINE re.M ?m Làm cho ^ khớp tại đầu chuỗi và đầu mỗi dòng và $ khớp tại cuối chuỗi và cuối mỗi dòng.
re.DOTALL re.S ?s Theo mặc định, dấu chấm (.) khớp bất kỳ ký tự nào ngoại trừ dòng mới. Cờ này làm cho dấu chấm (.) khớp tất cả ký tự bao gồm cả dòng mới.
re.VERBOSE re.X ?x Cờ này cho phép bạn tổ chức mẫu thành các phần logic trực quan và thêm chú thích.

Kết bài

Biểu thức chính quy (regex) là một công cụ hữu ích và mạnh mẽ trong việc xử lý chuỗi văn bản trong Python. Việc nắm vững các ký tự, định lượng, nhóm bắt và các cờ trong regex sẽ giúp bạn giải quyết các bài toán về xử lý chuỗi một cách nhanh chóng và hiệu quả. Tài liệu tham khảo nhanh này cung cấp các kiến thức cần thiết và ví dụ minh họa cụ thể, giúp bạn dễ dàng tra cứu và áp dụng trong quá trình lập trình. Hãy sử dụng regex một cách linh hoạt và sáng tạo để nâng cao hiệu suất công việc của bạn.

Bài viết này được đăng tại [free tuts .net]

Cùng chuyên mục:

Cách thêm Progress Bar trong Python với chỉ một dòng Code

Cách thêm Progress Bar trong Python với chỉ một dòng Code

Toán tử Walrus Operator- Tính năng mới trong Python 3.8

Toán tử Walrus Operator- Tính năng mới trong Python 3.8

Cách nạp dữ liệu Machine Learning từ File trong Python

Cách nạp dữ liệu Machine Learning từ File trong Python

Hướng dẫn sử dụng Google Sheets API với Python

Hướng dẫn sử dụng Google Sheets API với Python

Xây dựng  web Python tự động hóa Twitter | Flask, Heroku, Twitter API & Google Sheets API

Xây dựng web Python tự động hóa Twitter | Flask, Heroku, Twitter API & Google Sheets API

Xây dựng Web Machine Learning đẹp mắt với Streamlit và Scikit-learn trong Python

Xây dựng Web Machine Learning đẹp mắt với Streamlit và Scikit-learn trong Python

Hướng dẫn tạo Chatbot đơn giản bằng PyTorch

Hướng dẫn tạo Chatbot đơn giản bằng PyTorch

11 mẹo và thủ thuật để viết Code Python hiệu quả hơn

11 mẹo và thủ thuật để viết Code Python hiệu quả hơn

Hướng dẫn làm ứng dụng TODO với Flask dành cho người mới bắt đầu trong Python

Hướng dẫn làm ứng dụng TODO với Flask dành cho người mới bắt đầu trong Python

Hướng dẫn viết Snake Game bằng Python

Hướng dẫn viết Snake Game bằng Python

Cách sử dụng chế độ interactive trong Python

Cách sử dụng chế độ interactive trong Python

Cách sử dụng Python Debugger với hàm breakpoint()

Cách sử dụng Python Debugger với hàm breakpoint()

Xây dựng ứng dụng Web Style Transfer với PyTorch và Streamlit

Xây dựng ứng dụng Web Style Transfer với PyTorch và Streamlit

Cách cài đặt Jupyter Notebook trong môi trường Conda và thêm Kernel

Cách cài đặt Jupyter Notebook trong môi trường Conda và thêm Kernel

Hướng dẫn xây dựng ứng dụng dự đoán giá cổ phiếu bằng Python

Hướng dẫn xây dựng ứng dụng dự đoán giá cổ phiếu bằng Python

Hướng dẫn tạo ứng dụng AI hội thoại với NVIDIA Jarvis trong Python

Hướng dẫn tạo ứng dụng AI hội thoại với NVIDIA Jarvis trong Python

Hỗ trợ Async trong Django 3.1

Hỗ trợ Async trong Django 3.1

8 mẹo tái cấu trúc Python giúp mã sạch hơn và Pythonic

8 mẹo tái cấu trúc Python giúp mã sạch hơn và Pythonic

Ý nghĩa của if __name__ ==

Ý nghĩa của if __name__ == "__main__" trong Python

Cách xóa phần tử trong danh sách Python

Cách xóa phần tử trong danh sách Python

Top