Các loại biểu thức chính quy khác nhau trong python là gì?

Biểu thức chính quy, còn được gọi là “regex” hoặc “regexp”, được sử dụng để khớp các chuỗi văn bản, chẳng hạn như các ký tự, từ hoặc mẫu ký tự cụ thể. Điều đó có nghĩa là chúng ta có thể khớp và trích xuất bất kỳ mẫu chuỗi nào từ văn bản với sự trợ giúp của các biểu thức chính quy. Tôi đã sử dụng hai thuật ngữ, so khớp và trích xuất và cả hai thuật ngữ đều có ý nghĩa hơi khác nhau. Có thể có trường hợp khi chúng tôi muốn khớp một mẫu cụ thể nhưng trích xuất một tập hợp con của mẫu đó. Ví dụ: chúng tôi muốn trích xuất tên của các học giả tiến sĩ từ danh sách tên của những người trong một tổ chức

Trong trường hợp này, chúng tôi sẽ so khớp từ khóa “Dr XYZ” và chỉ trích xuất tên, tôi. e. “XYZ” không phải tiền tố “Dr. ” từ danh sách. Regex rất hữu ích trong việc tìm kiếm thông qua các văn bản, email và tài liệu lớn. Regex còn được gọi là “ngôn ngữ lập trình khớp chuỗi”. Trước khi đi sâu vào các biểu thức chính quy và cách triển khai chúng trong python, điều quan trọng là phải biết các ứng dụng của chúng trong thế giới thực

Các ứng dụng

Xác thực biểu mẫu

Việc sử dụng phổ biến nhất của các biểu thức chính quy là xác thực biểu mẫu, tôi. e. xác thực email, xác thực mật khẩu, xác thực số điện thoại và nhiều trường khác của biểu mẫu

Chi tiết tài khoản ngân hàng

Bạn hẳn đã nhận thấy rằng mọi ngân hàng đều có mã IFSC cho các chi nhánh khác nhau bắt đầu bằng tên của ngân hàng. Số thẻ tín dụng bao gồm 16 chữ số và một vài chữ số đầu tiên cho biết thẻ đó là Master, Visa hay Rupay. Trong tất cả các trường hợp này, regex được sử dụng

Khai thác dữ liệu

Làm sao chúng ta có thể quên tầm quan trọng của regex trong khai thác dữ liệu? . e. ở dạng văn bản, nó cần được chuyển đổi thành số để đào tạo mô hình. Do đó, regex đóng vai trò quan trọng trong việc phân tích dữ liệu, tìm các mẫu trong dữ liệu và cuối cùng là thực hiện các thao tác trên tập dữ liệu

NLP

NLP là một quá trình mà máy tính hiểu và tạo ra ngôn ngữ của con người. Trong NLP, các biểu thức chính quy được sử dụng để loại bỏ các từ không cần thiết mà tôi. e. , dừng các từ trong văn bản—do đó giúp làm sạch dữ liệu. Regex cũng được sử dụng để phân tích văn bản và do đó giúp dự đoán thuật toán xử lý dữ liệu

Nền tảng truyền thông xã hội

Các nền tảng truyền thông xã hội như Google, Facebook, Twitter cung cấp một số kỹ thuật tìm kiếm khác biệt và hiệu quả so với tìm kiếm thông thường. Tin tôi đi, nếu bạn biết những kỹ thuật này, bạn có thể khám phá nhiều hơn nữa. Tất cả các công nghệ này đều sử dụng regex trong phần phụ trợ để xử lý các tìm kiếm này

Bạn có thể nghĩ đến nhiều ứng dụng khác của biểu thức chính quy ở bất cứ nơi nào cần khớp mẫu

Các mẫu thẻ hoang dã

Các đơn vị riêng lẻ nhỏ nhất thông qua các biểu thức chính quy được hình thành được gọi là các mẫu ký tự đại diện. Danh sách các mẫu thường được sử dụng là

^

Thẻ đại diện này khớp với các ký tự ở đầu dòng

$

Thẻ đại diện này khớp với các ký tự ở cuối dòng

.

Thẻ đại diện này khớp với bất kỳ ký tự nào trong dòng

s

Thẻ đại diện này được sử dụng để khớp với khoảng trắng trong một chuỗi

S

Thẻ đại diện này khớp với các ký tự không phải khoảng trắng

d

Thẻ hoang dã này khớp với một chữ số

*

Thẻ đại diện này lặp lại bất kỳ ký tự nào trước đó từ 0 lần trở lên. Nó khớp với chuỗi dài nhất có thể

*?

Thẻ đại diện này cũng lặp lại bất kỳ ký tự/ký tự nào trước đó từ 0 lần trở lên. Tuy nhiên, nó khớp với chuỗi ngắn nhất theo mẫu

+

Thẻ đại diện này lặp lại bất kỳ ký tự nào trước đó một hoặc nhiều lần. Nó khớp với chuỗi dài nhất có thể theo mẫu

+ ?

Thẻ đại diện này lặp lại bất kỳ ký tự nào trước đó một hoặc nhiều lần. Tuy nhiên, nó khớp với chuỗi ngắn nhất có thể theo mẫu

[aiou]

Nó khớp với bất kỳ ký tự nào từ một tập hợp các ký tự đã cho

[^XYZ]

Nó khớp với bất kỳ ký tự nào không được cung cấp trong tập hợp

[a-z0-9]

Nó khớp với bất kỳ ký tự nào được cung cấp trong a-z hoặc 0-9

[

Thẻ đại diện này đại diện cho sự bắt đầu của việc trích xuất chuỗi

]

Thẻ đại diện này đại diện cho phần cuối của quá trình trích xuất chuỗi

ví dụ

Nếu bạn muốn trích xuất các số từ một tài liệu, biểu thức chính quy sẽ là. [0-9]+

Nếu bạn muốn trích xuất tất cả các ký tự không phải là số thì regex sẽ là. [^0-9]+

Để trích xuất mẫu sao cho tên bắt đầu bằng “A” và kết thúc bằng “h”, biểu thức chính quy sẽ là. ^A[a-zA-Z]+h$

Một biểu thức chính quy phức tạp hơn nếu bạn muốn trích xuất địa chỉ email. ^[a-zA-Z][a-zA-Z0-9. _+-][email được bảo vệ][A-Za-z]+. [A-Za-z]

Xây dựng Regex

Regex có thể rất phức tạp. Hiểu và xây dựng các biểu thức chính quy phức tạp là một nghệ thuật mà bạn học bằng cách thực hành. Bạn có thể tham khảo tại đây để học cách xây dựng regex phức tạp

Triển khai bằng Python

Regex được cung cấp bởi nhiều ngôn ngữ lập trình, chẳng hạn như python, java, javascript, v.v. Mặc dù khái niệm này giống nhau ở mọi nơi nhưng bạn có thể tìm thấy một số khác biệt trong các ngôn ngữ khác nhau

Bây giờ chúng ta sẽ xem xét các chức năng khác nhau do python cung cấp để triển khai regex cùng với mã của nó

Python không cung cấp mô-đun regex sẵn có. Bạn cần cài đặt nó bằng lệnh pip và sau đó nhập nó vào IDE Python của bạn. Sau đó, chúng tôi đã lưu trữ một số văn bản trong một biến có tên là chuỗi

pip install regex
import regex as re
string = "Virat Kohli is one of the greatest players in the Indian cricket team.nHe was born on November 5, 1988, in Delhi.nHe has completed his education at Vishal Bharti School.nIn 2008, he won the World Cup for India on Omar’s children under 19 years. From 2011, he started Test cricket matches. nHe is currently the captain of all three formats of India.n In 2017, Virat Kohli got married to Hindi film actress Anushka Sharma.nVirat has won the Man of the Tour twice, in 2014 and 2016. nSince 2008, he has represented Delhi in-home teams. nHe has been awarded the Arjuna Award in recognition of the achievements of international cricket."

phương pháp đối sánh

Hàm này tìm kiếm mẫu RE ở đầu chuỗi và trả về đối tượng khớp của chuỗi. Giá trị trong đối tượng có thể được truy cập thông qua hàm group[]. Cú pháp của hàm khớp là

lại. khớp [mẫu, chuỗi, cờ]

mẫu đại diện cho biểu thức chính quy, chuỗi đại diện cho văn bản sẽ được tìm kiếm để khớp với mẫu và cờ đại diện cho công cụ sửa đổi. Nếu chúng tôi muốn áp dụng bất kỳ điều kiện nào đối với khớp, chúng tôi sử dụng cờ. Đây là một tham số tùy chọn

mã trăn

Hàm này khớp xem chuỗi đầu tiên có bắt đầu bằng V hay không.  

phương pháp tìm kiếm

chức năng này tìm kiếm sự xuất hiện đầu tiên của mẫu RE trong chuỗi đã cho. Hàm này cũng trả về đối tượng khớp nếu tìm thấy mẫu khác không trả về. Cú pháp là

lại. tìm kiếm [mẫu, chuỗi]

Xin lưu ý rằng khớp chỉ kiểm tra khớp ở đầu chuỗi, trong khi tìm kiếm kiểm tra khớp đầu tiên ở bất kỳ đâu trong chuỗi

mã trăn

pattern=r'[0-9]+'
re.search[pattern,string]      # Returns the match object
print[re.search[pattern,string].group[]]

ĐẦU RA

Hàm này trả về số đầu tiên có trong văn bản

phương pháp tìm tất cả

Hàm này sẽ trả về tất cả các lần xuất hiện của mẫu RE trong chuỗi. Cú pháp của findall là

lại. findall[mẫu, chuỗi]

mã trăn

pattern=r'[0-9]+'
print[re.findall[pattern,string]]

ĐẦU RA

['5', '1988', '2008', '19', '2011', '2017', '2014', '2016', '2008']

Hàm này trích xuất tất cả các số trong văn bản

phương pháp phụ

Hàm này được sử dụng để thay thế tất cả các lần xuất hiện của mẫu RE bằng chuỗi/mẫu mới. Cú pháp là

lại. phụ [mẫu, thay thế, chuỗi]

mã trăn

in [tái. phụ [mẫu, thay thế, chuỗi]]

ĐẦU RA

"Chiku Kohli is one of the greatest players in the Indian cricket team.nHe was born on November 5, 1988, in Delhi.nHe has completed his education at Vishal Bharti School.nIn 2008, he won the World Cup for India on Omar’s children under 19 years. From 2011, he started Test cricket matches. nHe is currently the captain of all three formats of India.n In 2017, Virat Kohli got married to Hindi film actress Anushka Sharma.nChiku has won the Man of the Tour twice, in 2014 and 2016. nSince 2008, he has represented Delhi in-home teams. nHe has been awarded the Arjuna Award in recognition of the achievements of international cricket."

Chức năng này thay Virat bằng Chiku i. e. Biệt danh của Kohli

Đây là những chức năng được sử dụng phổ biến nhất của mô-đun “re”. Bạn có thể tham khảo tài liệu lại để biết thêm chi tiết

Bản tóm tắt

Chúng tôi bắt đầu với định nghĩa cơ bản về biểu thức chính quy và sau đó thảo luận về các ứng dụng khác nhau của nó. Sau đó, chúng tôi đã học cách tạo biểu thức chính quy bằng ký tự đại diện. Cuối cùng, chúng tôi đã triển khai các chức năng khác nhau của regex trong python

Người giới thiệu

Hình ảnh nổi bật – https. //www. mã hóa cho doanh nhân. com/blog/python-regular-expressions/

Về tôi

Xin chào. Tôi là Ashish Choudhary. Tôi đang theo đuổi B. Công nghệ từ Đại học Khoa học & Công nghệ JC Bose. Khoa học dữ liệu là niềm đam mê của tôi và cảm thấy tự hào khi viết những blog thú vị liên quan đến nó. Vui lòng liên hệ với tôi trên LinkedIn

Phương tiện hiển thị trong bài viết này không thuộc sở hữu của Analytics Vidhya và được sử dụng theo quyết định của Tác giả

Các loại biểu thức chính quy khác nhau là gì?

Cũng có hai loại biểu thức chính quy. biểu thức chính quy "Cơ bản" và biểu thức chính quy "mở rộng" . Một vài tiện ích như awk và egrep sử dụng biểu thức mở rộng. Hầu hết sử dụng biểu thức chính quy "cơ bản". Từ giờ trở đi, nếu tôi nói về một "biểu thức chính quy", nó mô tả một tính năng trong cả hai loại.

Có các biểu thức chính quy trong Python không?

Biểu thức chính quy là một ngôn ngữ mạnh mẽ để so khớp các mẫu văn bản. Trang này giới thiệu cơ bản về các biểu thức chính quy đủ cho các bài tập Python của chúng ta và chỉ ra cách các biểu thức chính quy hoạt động trong Python. Mô-đun "re" của Python cung cấp hỗ trợ biểu thức chính quy . str = 'một từ ví dụ. con mèo.

Ví dụ về biểu thức chính quy trong Python là gì?

Trong hướng dẫn này, bạn sẽ tìm hiểu về biểu thức chính quy [RegEx] và sử dụng mô-đun re của Python để làm việc với RegEx [với sự trợ giúp của các ví dụ]. Đoạn mã trên định nghĩa một mẫu RegEx. . Siêu ký tự

Đó là 3 cách sử dụng biểu thức chính quy?

Các biểu thức chính quy được sử dụng trong công cụ tìm kiếm, trong các hộp thoại tìm kiếm và thay thế của trình xử lý văn bản và trình soạn thảo văn bản, trong các tiện ích xử lý văn bản như sed và AWK cũng như trong phân tích từ vựng.

Chủ Đề