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:

Hướng dẫn xây dựng Command-Line Interface (CLI) bằng Quo trong Python

Hướng dẫn xây dựng Command-Line Interface (CLI) bằng Quo trong Python

Hướng dẫn toàn diện về module datetime trong Python

Hướng dẫn toàn diện về module datetime trong Python

Cách truy cập và thiết lập biến môi trường trong Python

Cách truy cập và thiết lập biến môi trường trong Python

Lớp dữ liệu (Data Classes) trong Python với decorator @dataclass

Lớp dữ liệu (Data Classes) trong Python với decorator @dataclass

Từ khóa yield trong Python

Từ khóa yield trong Python

Sự khác biệt giữa sort() và sorted() trong Python

Sự khác biệt giữa sort() và sorted() trong Python

Sử dụng Poetry để quản lý dependencies trong Python

Sử dụng Poetry để quản lý dependencies trong Python

Định dạng chuỗi Strings trong Python

Định dạng chuỗi Strings trong Python

Một tác vụ phổ biến khi làm việc với danh sách trong Python

Một tác vụ phổ biến khi làm việc với danh sách trong Python

Làm việc với các biến môi trường trong Python

Làm việc với các biến môi trường trong Python

Sự khác biệt giữa set() và frozenset() trong Python

Sự khác biệt giữa set() và frozenset() trong Python

Sự khác biệt giữa iterator và iterable trong Python

Sự khác biệt giữa iterator và iterable trong Python

Cách làm việc với file tarball/tar trong Python

Cách làm việc với file tarball/tar trong Python

Chuyển đổi kiểu dữ liệu trong Python

Chuyển đổi kiểu dữ liệu trong Python

Sự khác biệt giữa toán tử == và is trong Python

Sự khác biệt giữa toán tử == và is trong Python

Làm việc với file ZIP trong Python

Làm việc với file ZIP trong Python

Cách sử dụng ThreadPoolExecutor trong Python

Cách sử dụng ThreadPoolExecutor trong Python

Sự khác biệt giữa byte objects và string trong Python

Sự khác biệt giữa byte objects và string trong Python

Xử lý độ chính xác các hàm floor, ceil, round, trunc, format  trong Python

Xử lý độ chính xác các hàm floor, ceil, round, trunc, format trong Python

Cách lặp qua nhiều list với hàm zip() trong Python

Cách lặp qua nhiều list với hàm zip() trong Python

Top