RegEx hay biểu thức chính quy (Biểu thức chính quy) là một chuỗi ký tự tạo thành một biểu thức tìm kiếm (mẫu tìm kiếm). RegEx được sử dụng để kiểm tra xem một chuỗi không có mẫu tìm kiếm được chỉ định hay không Mô-đun RegExTrong python, có một gói tích hợp có tên In [11]: import re
...:
...: str = "The rain in Spain"
...: x = re.findall("ai", str)
...: print(x)
['ai', 'ai']
6 có khả năng sử dụng để làm việc với biểu thức chính quy. To import module In [11]: import re
...:
...: str = "The rain in Spain"
...: x = re.findall("ai", str)
...: print(x)
['ai', 'ai']
6import re
RegEx trong pythonSau khi nhập mô-đun In [11]: import re
...:
...: str = "The rain in Spain"
...: x = re.findall("ai", str)
...: print(x)
['ai', 'ai']
6, chúng ta có thể sử dụng biểu thức chính quy. Ví dụ. Chuỗi tìm kiếm bắt đầu bằng 'Then' và kết thúc bằng 'Tây Ban Nha'import re
txt = "The rain in Spain"
x = re.search("^The.*Spain$", txt)
Các hàm xử lý RegExMô-đun In [11]: import re
...:
...: str = "The rain in Spain"
...: x = re.findall("ai", str)
...: print(x)
['ai', 'ai']
6 cung cấp cho chúng ta các hàm tìm kiếm một chuỗi phù hợp với biểu thứcHàmMô tảfindallTrả về một danh sách các kết quả phù hợp tìm kiếmTrả về một đối tượng In [12]: import re
...:
...: str = "The rain in Spain"
...: x = re.findall("Portugal", str)
...: print(x)
[]
0 nếu có bất kỳ vị trí trị giá nào trong chuỗi phù hợpsplitTrả về một chuỗi danh sách đã được phân chia ở vị trí matchsubThay thế các vị trí khớp với biểu thức . Hàm findall()
1. Hàm findall()Ra tất cả các giai đoạn phù hợp In [11]: import re
...:
...: str = "The rain in Spain"
...: x = re.findall("ai", str)
...: print(x)
['ai', 'ai']
Hoặc nếu không tìm thấy kết quả nào phù hợp thì trả về một danh sách trống In [12]: import re
...:
...: str = "The rain in Spain"
...: x = re.findall("Portugal", str)
...: print(x)
[]
2. Hàm tìm kiếm()Search khoảng trắng đầu tiên trong chuỗi In [13]: import re
...:
...: str = "The rain in Spain"
...: x = re.search("\s", str)
...:
...: print("The first white-space character is located in position:", x.start())
The first white-space character is located in position: 3
Hoặc sẽ trả về Không có nếu không tìm thấy In [11]: import re
...:
...: str = "The rain in Spain"
...: x = re.findall("ai", str)
...: print(x)
['ai', 'ai']
03. tách hàm()Tách các từ trong câu In [11]: import re
...:
...: str = "The rain in Spain"
...: x = re.findall("ai", str)
...: print(x)
['ai', 'ai']
1Chúng ta chỉ có thể xác định số lần xuất hiện thông qua tham số In [12]: import re
...:
...: str = "The rain in Spain"
...: x = re.findall("Portugal", str)
...: print(x)
[]
1. Ví dụ chuỗi phân tách ở lần xuất hiện đầu tiên của khoảng trắngIn [11]: import re
...:
...: str = "The rain in Spain"
...: x = re.findall("ai", str)
...: print(x)
['ai', 'ai']
34. Hàm phụ()Thay thế mọi khoảng trắng bằng số 9 In [11]: import re
...:
...: str = "The rain in Spain"
...: x = re.findall("ai", str)
...: print(x)
['ai', 'ai']
4Hoặc có thể giới hạn số lần thay thế thông qua tham số In [12]: import re
...:
...: str = "The rain in Spain"
...: x = re.findall("Portugal", str)
...: print(x)
[]
2In [11]: import re
...:
...: str = "The rain in Spain"
...: x = re.findall("ai", str)
...: print(x)
['ai', 'ai']
6Siêu ký tựSiêu ký tự là những ký tự có ý nghĩa đặc biệt Ký tự mô tảVí dụChuỗi phù hợp[]Một tập hợp các ký tự"[a-e]""adbc"\Tín hiệu có thể hiển thị một chuỗi đặc biệt (hoặc sử dụng để thoát khỏi các ký tự đặc biệt)"\d""123". Bất kỳ ký tự nào (ngoại trừ ký tự dòng mới)"he. o""henno"^Bắt đầu chuỗi"^hello""hello gua"$Kết thúc chuỗi"world$""helo world"*Không hoặc nhiều lần xuất hiện"aix*""ai"+Xuất hiện ít nhất một lần . or"a. b""a"()Nhóm character"(hello)""hello"trình tự đặc biệtChuỗi đặc biệt là chuỗi đặc biệt và được bắt đầu bằng ký tự In [12]: import re
...:
...: str = "The rain in Spain"
...: x = re.findall("Portugal", str)
...: print(x)
[]
3, nó có ý nghĩa đặc biệt và thường giúp cho công việc mô tả biểu thức chính quy được gọn gàng hơnKý tựMô tảVí dụChuỗi phù hợp với\ABắt đầu chuỗi bằng ký tự chỉ định"\AThe""The world"\bBắt đầu hoặc kết thúc của một từ bằng ký tự chỉ địnhr"\bSpa" r"ain\b""The rain in Spain" "He is Bi Rain"\BKhớp với các ký tự chỉ định nhưng không nằm ở đầu hoặc cuối từr"\BSpa" r"ain\B""This is GSpan company" "No words are rains"\dChuỗi chứa ký tự là chữ số"\d""he1lo"\DChuỗi không chứa ký tự là số"\D""Hello"\sChuỗi chứa khoảng trắng"\s""Hello world"\SChuỗi không chứa khoảng trắng"\S""HelloWorld"\wChuỗi chứa bất kỳ ký tự nào trong nhóm từ a tới Z, từ 0 tới 9 và dấu _ (underscore)"\w""This is global_variable"\WNgược lại với In [12]: import re
...:
...: str = "The rain in Spain"
...: x = re.findall("Portugal", str)
...: print(x)
[]
4"\W""*& ^ !"\ZKết thúc chuỗi bằng các ký tự được chỉ định"Spain\Z""The Spain"bộSets is a composit các ký tự bên trong dấu In [12]: import re
...:
...: str = "The rain in Spain"
...: x = re.findall("Portugal", str)
...: print(x)
[]
5 với ý nghĩa đặc biệtSetMô tả[arg]Chuỗi chứa một trong các ký tự In [12]: import re
...:
...: str = "The rain in Spain"
...: x = re.findall("Portugal", str)
...: print(x)
[]
6, In [12]: import re
...:
...: str = "The rain in Spain"
...: x = re.findall("Portugal", str)
...: print(x)
[]
7 hoặc In [12]: import re
...:
...: str = "The rain in Spain"
...: x = re.findall("Portugal", str)
...: print(x)
[]
8[a-n]Chuỗi chứa một trong các ký tự nằm giữa In [12]: import re
...:
...: str = "The rain in Spain"
...: x = re.findall("Portugal", str)
...: print(x)
[]
6 và In [13]: import re
...:
...: str = "The rain in Spain"
...: x = re.search("\s", str)
...:
...: print("The first white-space character is located in position:", x.start())
The first white-space character is located in position: 3
0 trong bảng chữ cái In [13]: import re
...:
...: str = "The rain in Spain"
...: x = re.search("\s", str)
...:
...: print("The first white-space character is located in position:", x.start())
The first white-space character is located in position: 3
1[^arg]Chuỗi không chứa bất kỳ ký tự nào In [12]: import re
...:
...: str = "The rain in Spain"
...: x = re.findall("Portugal", str)
...: print(x)
[]
6, . Biểu thức bên là chuỗi chứa các ký tự In [11]: import re
...:
...: str = "The rain in Spain"
...: x = re.findall("ai", str)
...: print(x)
['ai', 'ai']
01Match ObjectĐối sánh là đối tượng chứa thông tin về tìm kiếm phù hợp và kết quả của chúng. Nếu không có tìm kiếm phù hợp nào thì sẽ trả về In [11]: import re
...:
...: str = "The rain in Spain"
...: x = re.findall("ai", str)
...: print(x)
['ai', 'ai']
02 chứ không phải là đối tượng In [12]: import re
...:
...: str = "The rain in Spain"
...: x = re.findall("Portugal", str)
...: print(x)
[]
0 Các thuộc tính và phương thức của In [12]: import re
...:
...: str = "The rain in Spain"
...: x = re.findall("Portugal", str)
...: print(x)
[]
0chuỗi trả về chuỗi được truyền vào hàm. span() trả về một tuple chứa điểm bắt đầu và điểm kết thúc của vị trí phù hợp. group() return chuỗi phù hợp In the first position of started and end of the first time output of the start by the In [11]: import re
...:
...: str = "The rain in Spain"
...: x = re.findall("ai", str)
...: print(x)
['ai', 'ai']
05import re
txt = "The rain in Spain"
x = re.search("^The.*Spain$", txt)
0In ra string has been transfer to function import re
txt = "The rain in Spain"
x = re.search("^The.*Spain$", txt)
1In ra đoạn phù hợp với biểu thức trong chuỗi cho trước import re
txt = "The rain in Spain"
x = re.search("^The.*Spain$", txt)
2Tổng kếtRegEx thật sự rất mạnh mẽ và nó sẽ giúp các bạn xử lý được rất nhiều bài toán khó, phức tạp nếu áp dụng cách thông thường. Nhưng nó cũng thực sự khá khó khăn với nhưng người chưa tìm hiểu kỹ về nó. Hy vọng các bạn sẽ tìm thấy niềm vui khi sử dụng RegEx |