Biểu thức chính quy là một tập hợp các ký tự có cú pháp chuyên biệt cao mà chúng ta có thể sử dụng để tìm hoặc khớp các ký tự hoặc nhóm ký tự khác. Nói tóm lại, biểu thức chính quy hoặc Regex được sử dụng rộng rãi trong thế giới UNIX
Mô-đun lại trong Python hỗ trợ đầy đủ cho các biểu thức chính quy của kiểu Pearl. Mô-đun re tăng re. ngoại lệ lỗi bất cứ khi nào xảy ra lỗi trong khi triển khai hoặc sử dụng biểu thức chính quy
Chúng ta sẽ xem xét hai chức năng quan trọng được sử dụng để xử lý các biểu thức chính quy. Nhưng trước tiên, một điểm nhỏ. nhiều chữ cái có một ý nghĩa cụ thể khi được sử dụng trong một biểu thức chính quy
lại. cuộc thi đấu[]
Python tái. hàm match[] tìm và cung cấp giao diện đầu tiên của mẫu biểu thức chính quy. Trong Python, hàm RegEx Match chỉ tìm kiếm một chuỗi phù hợp ở đầu văn bản được cung cấp để tìm kiếm. Đối tượng phù hợp được tạo ra nếu tìm thấy một đối tượng phù hợp trong dòng đầu tiên. Nếu một kết quả phù hợp được tìm thấy trong một dòng tiếp theo, hàm Python RegEx Match sẽ cho kết quả là null
Kiểm tra việc thực hiện để tái. phương thức match[] trong Python. Các biểu thức ". w*" và ". w*?" sẽ khớp với các từ có chữ cái "w" và bất kỳ từ nào không có chữ cái "w" sẽ bị bỏ qua. Vòng lặp for được sử dụng trong Python này. match[] minh họa để kiểm tra các trận đấu cho mọi phần tử trong danh sách các từ
nhân vật phù hợp
Phần lớn các biểu tượng và ký tự sẽ dễ dàng khớp với nhau. [Có thể bật tính năng phân biệt chữ hoa chữ thường, cho phép RE này khớp với Python hoặc PYTHON. ] Chẳng hạn, kiểm tra biểu thức chính quy sẽ khớp chính xác với kiểm tra chuỗi
Có một số ngoại lệ đối với quy tắc chung này; . Thay vào đó, chúng chỉ ra rằng chúng phải so sánh điều gì đó bất thường hoặc chúng có ảnh hưởng đến các phần khác của RE bằng cách lặp lại hoặc sửa đổi ý nghĩa của chúng
Đây là danh sách các siêu ký tự;
Những điều lặp đi lặp lại
Khả năng khớp các bộ ký hiệu khác nhau sẽ là tính năng đầu tiên mà các biểu thức chính quy có thể đạt được mà trước đây không thể đạt được bằng các kỹ thuật chuỗi. Mặt khác, Regex không phải là một cải tiến nhiều nếu đó là khả năng bổ sung duy nhất của họ. Chúng tôi cũng có thể xác định rằng một số phần của RE phải được nhắc lại một số lần nhất định
Siêu ký tự đầu tiên chúng ta sẽ kiểm tra các lần xuất hiện định kỳ là *. Thay vì khớp với ký tự thực tế '*,' * báo hiệu rằng chữ cái trước đó có thể được khớp 0 hoặc thậm chí nhiều lần hơn, thay vì chính xác một lần
Ba*t, ví dụ, khớp với 'bt' [không có ký tự 'a'], 'bat' [một ký tự 'a'], 'baaat' [ba ký tự 'a'], v.v.
Các lần lặp tham lam, chẳng hạn như *, khiến thuật toán so khớp cố gắng sao chép RE nhiều lần nhất có thể. Nếu các phần tử sau của chuỗi không khớp, thuật toán khớp sẽ thử lại với số lần lặp lại ít hơn
Đây là cú pháp của re. hàm match[] -
Thông số
họa tiết. - đây là biểu thức cần khớp. Nó phải là một biểu thức chính quy
sợi dây. - Đây là chuỗi sẽ được so sánh với mẫu ở đầu chuỗi
cờ. - Bitwise HOẶC [. ] có thể được sử dụng để thể hiện nhiều cờ. Đây là những sửa đổi và bảng dưới đây liệt kê chúng
Mã số
đầu ra
lại. Tìm kiếm[]
Ở đó. hàm search[] sẽ tìm kiếm sự xuất hiện đầu tiên của chuỗi biểu thức chính quy và phân phối nó. Nó sẽ xác minh tất cả các hàng của chuỗi được cung cấp, không giống như Python's re. cuộc thi đấu[]. Nếu mô hình phù hợp, lại. hàm search[] tạo ra một đối tượng khớp; . "
Để thực hiện chức năng tìm kiếm [], trước tiên chúng ta phải nhập mô-đun lại Python và sau đó chạy chương trình. "Trình tự" và "nội dung" để kiểm tra từ chuỗi chính của chúng tôi được chuyển đến Python re. cuộc gọi tìm kiếm []
Đây là cú pháp của re. chức năng tìm kiếm -
Dưới đây là mô tả của các tham số -
họa tiết. - đây là biểu thức cần khớp. Nó phải là một biểu thức chính quy
sợi dây. - Chuỗi được cung cấp là chuỗi sẽ được tìm kiếm mẫu ở bất kỳ đâu trong đó
cờ. - Bitwise HOẶC [. ] có thể được sử dụng để thể hiện nhiều cờ. Đây là những sửa đổi và bảng dưới đây liệt kê chúng
Mã số
đầu ra
search object group : Python through tutorials on javatpoint search object group 1 : on search object group 2 : javatpoint
Phù hợp so với tìm kiếm
Python có hai hàm biểu thức chính quy chính. phù hợp và tìm kiếm. Match chỉ tìm kiếm một kết quả khớp khi chuỗi bắt đầu, trong khi tìm kiếm tìm kiếm một kết quả khớp ở mọi nơi trong chuỗi [đây là chức năng mặc định của Perl]
Mã số
đầu ra
There isn't any match!! search object group : Python through tutorials on
lại. tìm tất cả []
Hàm findall[] thường được sử dụng để tìm kiếm "tất cả" sự xuất hiện của một mẫu. Mặt khác, mô-đun search[] sẽ chỉ cung cấp lần xuất hiện sớm nhất khớp với mô tả. Trong một thao tác đơn lẻ, findall[] sẽ lặp qua tất cả các hàng của tài liệu và cung cấp tất cả các kết quả khớp thông thường không chồng chéo
Chúng tôi có một dòng văn bản và chúng tôi muốn lấy tất cả các lần xuất hiện từ nội dung, vì vậy chúng tôi sử dụng hàm re của Python. hàm findall[]. Nó sẽ tìm kiếm toàn bộ nội dung được cung cấp cho nó
Sử dụng gói lại không phải lúc nào cũng là một ý tưởng hay. Nếu chúng tôi chỉ tìm kiếm một chuỗi cố định hoặc một lớp ký tự cụ thể và chúng tôi không tận dụng bất kỳ tính năng re nào như cờ IGNORECASE, thì sẽ không cần đến khả năng đầy đủ của biểu thức chính quy. Các chuỗi cung cấp nhiều cách khác nhau để thực hiện các tác vụ với các chuỗi cố định và chúng thường nhanh hơn đáng kể so với bộ giải biểu thức chính quy lớn hơn, tổng quát hơn vì việc thực thi là một vòng lặp C ngắn đơn giản đã được tối ưu hóa cho công việc