Regex trong Python
Biểu thức chính quy (Regular Expression) trong Python được thể hiện thông qua module re
. Module này cung cấp đầy đủ hỗ trợ cho việc sử dụng biểu thức chính quy trong Python. Nếu xảy ra lỗi khi biên dịch hoặc sử dụng một biểu thức chính quy, module sẽ tạo ra một Exception là re.error
. Để sử dụng module re
trong chương trình của bạn, bạn cần import module re
như sau:
import re
Các hàm Regex trong Python
Có một số hàm regex được sử dụng trong Python.
match
: Hàm này so khớp mẫu regex với chuỗi với các cờ tùy chọn. Nếu tìm thấy kết quả khớp trong chuỗi, hàm trả vềTrue
, ngược lại trả vềFalse
.search
: Hàm này trả về đối tượng khớp nếu tìm thấy kết quả khớp trong chuỗi.findall
: Hàm này trả về một danh sách chứa tất cả các kết quả khớp của một mẫu trong chuỗi.split
: Hàm này trả về một danh sách sau khi phân chia chuỗi theo các kết quả khớp.sub
: Hàm này thay thế một hoặc nhiều kết quả khớp trong chuỗi.
Xây dựng Regex trong Python
Một biểu thức chính quy trong Python có thể được xây dựng bằng cách sử dụng các MetaCharacters, set hoặc ký tự đặc biệt.
Xây dựng bằng Metacharacter
Metacharacter | Mô tả |
---|---|
[] |
Đại diện cho một tập các ký tự. Ví dụ: [a-z] |
. |
Đại diện cho bất kỳ ký tự nào xuất hiện ở một số nơi cụ thể. Ví dụ: Ja.v. |
^ |
Đại diện cho mẫu có mặt ở đầu chuỗi. Ví dụ: ^Java |
$ |
Đại diện cho mẫu có mặt ở cuối chuỗi. Ví dụ: viettuts |
* |
Đại diện cho không hoặc nhiều lần xuất hiện của một mẫu trong chuỗi. Ví dụ: hello* |
+ |
Đại diện cho một hoặc nhiều lần xuất hiện của một mẫu trong chuỗi. Ví dụ: hello+ |
{} |
Số lần xuất hiện đã chỉ định của một mẫu trong chuỗi. Ví dụ: java{2} |
| |
Biểu diễn cho cái này hoặc cái kia (điều kiện or). Ví dụ: python2|python3 |
() |
Nhóm các thành phần. |
Khám phá thêm về biểu thức chính quy trong Python và nhiều ngôn ngữ lập trình khác qua các khóa học lập trình tại T3H.
Nguồn tham khảo: Viettuts