Regex trong Python
Tìm hiểu về Regex trong Python
Regular Expression trong Python được thể hiện qua module re, re Module cung cấp sự hỗ trợ đầy đủ các Regular Expression trong Python. Module này tạo Exception là re.error nếu xảy ra một lỗi trong khi biên dịch hoặc khi sử dụng một Regular Expression. Để sử dụng re việc đầu tiên bạn cần phải import module re vào chương trình, sử dụng với cú pháp như sau:
import re
Các hàm Regex trong Python
Các hàm regex sau được sử dụng trong Python.
STT |
Hàm |
Mô tả |
1 |
match |
Hàm này khớp với mẫu regex trong chuỗi với cờ tùy chọn. Nó trả về true nếu một kết quả khớp được tìm thấy trong chuỗi nếu không nó trả về false. |
2 |
search |
Hàm này trả về đối tượng khớp nếu có một kết quả khớp được tìm thấy trong chuỗi. |
3 |
findall |
Nó 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. |
4 |
split |
Trả về một danh sách trong đó chuỗi đã được phân chia theo mỗi kết quả khớp. |
5 |
sub |
Thay thế một hoặc nhiều kết quả khớp trong chuỗi. |
>>> Đọc thêm: Phương thức Get và Post trong PHP
Xây dựng Regex trong Python
Một regex trong Python có thể được xây dựng bởi các MetaCharacters, set hoặc ký tự đặc biệt.
Xây dựng bằng Metacharacter
Metacharacter |
Mô tả |
Ví dụ |
[] |
Nó đại diện cho một tập các ký tự. |
"[a-z]" |
\ |
Nó đại diện cho ký tự đặc biệt. |
"\r" |
. |
Nó đại diện cho bất kỳ ký tự nào xuất hiện ở một số nơi cụ thể. |
"Ja.v." |
^ |
Nó đại diện cho mẫu có mặt ở đầu chuỗi. |
"^Java" |
$ |
Nó đại diện cho mẫu có mặt ở cuối chuỗi. |
"viettuts" |
* |
Nó đạ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. |
"hello*" |
+ |
Nó đạ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. |
"hello+" |
{} |
Số lần xuất hiện đã chỉ định của một mẫu trong chuỗi. |
"java{2}" |
| |
Nó biểu diễn cho cái này hoặc cái kia (điều kiện or). |
"python2|python3" |
() |
Nhóm các thành phần. |
>>> Tham khảo: Khóa học lập trình Python tại T3H
Regex trong Python - Xây dựng bằng set
Một set là một nhóm các ký tự được đưa ra bên trong một cặp dấu ngoặc vuông. Nó đại diện cho ý nghĩa đặc biệt.
STT |
Set |
Mô tả |
1 |
[arn] |
Trả về một kết quả khớp nếu chuỗi chứa bất kỳ ký tự nào được chỉ định trong tập hợp. |
2 |
[a-n] |
Trả về một kết quả khớp nếu chuỗi chứa bất kỳ ký tự nào từ a đến n. |
3 |
[^arn] |
Trả về một kết quả khớp nếu chuỗi chứa các ký tự ngoại trừ a, r và n. |
4 |
[0123] |
Trả về một kết quả khớp nếu chuỗi chứa bất kỳ chữ số nào được chỉ định. |
5 |
[0-9] |
Trả về một kết quả khớp nếu chuỗi chứa bất kỳ chữ số nào trong khoảng từ 0 đến 9. |
6 |
[0-5][0-9] |
Trả về một kết quả khớp nếu chuỗi chứa bất kỳ chữ số nào trong khoảng từ 00 đến 59. |
10 |
[a-zA-Z] |
Trả về một kết quả khớp nếu chuỗi chứa bất kỳ bảng chữ cái nào (chữ thường hoặc chữ hoa). |
Regex trong Python - Xây dựng bằng ký tự đặc biệt
Ký tự đặc biệt là các chuỗi có chứa \ theo sau là một trong các ký tự.
Ký tự |
Mô tả |
\A |
Nó trả về một kết quả khớp nếu các ký tự được chỉ định có mặt ở đầu chuỗi. |
\b |
Nó trả về một kết quả khớp nếu các ký tự được chỉ định có mặt ở đầu hoặc cuối chuỗi. |
\B |
Nó trả về một kết quả khớp nếu các ký tự được chỉ định có mặt ở đầu chuỗi nhưng không ở cuối chuỗi. |
\d |
Nó trả về một kết quả khớp nếu chuỗi chứa các chữ số [0-9]. |
\D |
Nó trả về một kết quả khớp nếu chuỗi không chứa các chữ số [0-9]. |
\s |
Nó trả về một kết quả khớp nếu chuỗi chứa bất kỳ ký tự khoảng trắng nào. |
\S |
Nó trả về một kết quả khớp nếu chuỗi không chứa bất kỳ ký tự khoảng trắng nào. |
\w |
Nó trả về một kết quả khớp nếu chuỗi chứa bất kỳ ký tự từ nào. |
\W |
Nó trả về một kết quả khớp nếu chuỗi không chứa bất kỳ từ nào. |
\Z |
Trả về một kết quả khớp nếu các ký tự được chỉ định ở cuối chuỗi. |
Kết luận: Trên đây là khái niệm về Regex trong Python và cách xây dựng regex trong Python. Hy vọng các bạn có thể áp dụng các kiến thức này trong quá trình lập trình với Python. Tìm hiểu thêm về lập trình Python và các 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