Hướng dẫn extract text using regex python - trích xuất văn bản bằng regex python

Trong ngôn ngữ lập trình, một biểu thức chính quy được viết là (Re hoặc Regex) là một chuỗi văn bản được sử dụng để mô tả mẫu tìm kiếm. Nó hoàn hảo để trích xuất dữ liệu từ các tệp văn bản, nhật ký, bảng tính và thậm chí các bài báo. Khi sử dụng biểu thức thông thường Python, hãy nhớ rằng mọi thứ về cơ bản là một nhân vật. Chúng tôi tạo các mẫu phù hợp với một chuỗi các ký tự cụ thể, thường được gọi là một chuỗi. Các chữ cái Latin hoặc ASCII là các chữ cái bạn thấy trên bàn phím của bạn; Mặt khác, Unicode chủ yếu được sử dụng để phù hợp với văn bản nước ngoài. Tất cả các chữ số, dấu câu và ký tự đặc biệt, chẳng hạn như $#@! bao gồm.

Ví dụ, một biểu thức thông thường Python có thể hướng dẫn một chương trình tìm kiếm một chuỗi cho văn bản được chỉ định và sau đó in kết quả. Một tập hợp các ký tự được gọi là một chuỗi của người Viking. Cho dù chúng tôi làm việc trên phần mềm hoặc bất kỳ & nbsp nào khác; chương trình cạnh tranh, chúng tôi liên tục xử lý các chuỗi. Trong khi phát triển các chương trình, thỉnh thoảng chúng tôi cần truy cập các phần phụ của chuỗi. Chất nền là tên cho các phần phụ này. Một chuỗi con là một tập hợp con chuỗi. Chúng ta có thể dễ dàng đạt được điều này bằng cách sử dụng kỹ thuật cắt chuỗi & nbsp; hoặc biểu thức thông thường (re).

Biểu thức bao gồm khớp văn bản, phân nhánh, lặp lại, & nbsp; và xây dựng mẫu. Re là một biểu thức chính quy hoặc regex được nhập thông qua mô -đun RE trong Python. Một biểu thức thông thường được hỗ trợ bởi các thư viện Python. Định danh, bộ sửa đổi và ký tự không gian trắng được Regex hỗ trợ trong Python. Để sử dụng tốt nhất các biểu thức thông thường, bạn phải nhập mô -đun RE; Nếu không, nó có thể không hoạt động đúng. Chúng tôi đã cấu trúc phần này thành ba phần không liên quan chính xác với nhau và bạn có thể đi ngay vào bất kỳ phần nào để bắt đầu, nhưng nếu bạn chưa quen với Regex, chúng tôi khuyên bạn nên đọc nó theo thứ tự. Chúng tôi sẽ sử dụng các hàm Findall, Search và khớp với mô -đun RE để giải quyết các vấn đề của chúng tôi trong suốt bài đăng này. Bắt đầu nào.

Ví dụ 1:

Chúng tôi sẽ sử dụng một biểu thức thông thường trong Python để trích xuất chuỗi con trong ví dụ này. Chúng tôi sẽ sử dụng gói tích hợp Python, cho các biểu thức thông thường. Hàm tìm kiếm () trong mã trước tìm kiếm trường hợp đầu tiên của mẫu được cung cấp dưới dạng đối số trong văn bản được truyền. Kết quả là nó cung cấp cho bạn một đối tượng đối sánh. Khoảng thời gian của chuỗi con, cũng như các chỉ mục bắt đầu và kết thúc của chuỗi con, là tất cả các đặc điểm của một đối tượng khớp xác định đầu ra. Điều đáng chú ý là một số thuộc tính có thể bị thiếu vì dir () gọi phương thức _DIR_ (), cung cấp danh sách tất cả các thuộc tính. Và kỹ thuật này có thể được thay đổi hoặc ghi đè.

Hướng dẫn extract text using regex python - trích xuất văn bản bằng regex python

Đây là đầu ra khi chúng ta chạy mã trên.

Hướng dẫn extract text using regex python - trích xuất văn bản bằng regex python

Ví dụ 2:

Chúng tôi sẽ áp dụng phương thức Re.Match () trong ví dụ tiếp theo của chúng tôi. Trong Python, hàm re.match () tìm kiếm và trả về lần xuất hiện đầu tiên của một mẫu biểu thức chính quy. Trong Python, chức năng trận đấu này sẽ chỉ tìm kiếm một trận đấu ở đầu. Nếu một trận đấu được phát hiện trong dòng đầu tiên, đối tượng khớp được trả về. Phương pháp phù hợp của Python Regex, mặt khác, trả về NULL nếu một trận đấu được tìm thấy thành công trong một dòng khác. Xem xét mã python sau đây cho hàm re.match (). Các biểu thức của W+W+và W W W W W W W W W W W W W W W W W W+và bất cứ điều gì không bắt đầu với chữ cái mà G Gher sẽ bị bỏ qua. Trong ví dụ Python re.match () này, chúng tôi sử dụng vòng lặp For để kiểm tra các trận đấu cho từng phần tử trong danh sách hoặc văn bản.

Hướng dẫn extract text using regex python - trích xuất văn bản bằng regex python

Dưới đây là đầu ra của mã trên khi được thực thi.

Hướng dẫn extract text using regex python - trích xuất văn bản bằng regex python

Ví dụ 3:

Trong ví dụ cuối cùng của chúng tôi, chúng tôi sẽ sử dụng phương pháp Findall của Python. Findall () là một mô -đun tìm kiếm các phiên bản của tất cả các mẫu của một mẫu trong một đầu vào nhất định. Ngược lại, mô -đun tìm kiếm () & nbsp; return & nbsp; lần xuất hiện đầu tiên mà chỉ & nbsp; khớp với mẫu. findall () & nbsp; sẽ kiểm tra tất cả & nbsp; các dòng trong tệp và trả về & nbsp; mẫu không chồng chéo khớp trong một bước duy nhất. Quan sát mã bên dưới và thấy rằng chúng tôi có một số địa chỉ e-mail và một số văn bản và chỉ muốn tìm nạp địa chỉ email, vì vậy chúng tôi sử dụng hàm re.findall () cho mục đích này. Nó sẽ tìm kiếm toàn bộ danh sách cho các địa chỉ e-mail.

Hướng dẫn extract text using regex python - trích xuất văn bản bằng regex python

Kết quả của mã trên như sau.

Hướng dẫn extract text using regex python - trích xuất văn bản bằng regex python

Conclusion:

Biểu thức chính quy (regex) rất hữu ích để trích xuất các mẫu ký tự từ văn bản và xử lý chúng. Biểu thức thông thường nhanh chóng và rất dễ sử dụng, và chúng giúp bạn tiết kiệm thời gian bằng cách tránh sử dụng các vòng lặp dự phòng trong ứng dụng của bạn để khớp và truy xuất dữ liệu. Chúng tôi đã chỉ cho bạn cách sử dụng các biểu thức thường xuyên trong Python để giải quyết các tình huống cụ thể trong bài đăng này. Chúng tôi cũng đã bao gồm các ví dụ về việc sử dụng Regex để giải quyết các thách thức xử lý văn bản khác nhau. Chúng tôi chủ yếu tập trung vào việc trích xuất các từ từ các chuỗi trong bài viết này.

Thông tin về các Tác giả

Xin chào, tôi là một nhà văn tự do và thường viết cho Linux và các nội dung liên quan đến công nghệ khác