Bạn đang tìm kiếm Cách sử dụng python finditer?
Khi nào nên sử dụng mô-đun lại chức năng finditer[] trong python?
Nếu bạn đang cố trích xuất các chi tiết xuất hiện của bất kỳ mẫu nào trong văn bản bằng python. Bạn phải sử dụng mô-đun “re” trong python. Trong mô-đun “re” của python, Bạn có thể sử dụng chức năng tìm kiếm với văn bản và mẫu làm đối số. Chức năng tìm kiếm này sẽ cung cấp cho bạn đối tượng phù hợp. Nhưng có một hạn chế là Nó sẽ chỉ cung cấp lần xuất hiện đầu tiên của mẫu. Đầu tiên, hãy xem ví dụ dưới đây -
< class 'callable_iterator' >
< callable_iterator object at 0x7f0c5cc24e48 >
gcptutorials
wikipedia
google
0 trả về
< class 'callable_iterator' >
< callable_iterator object at 0x7f0c5cc24e48 >
gcptutorials
wikipedia
google
1 của các đối tượng phù hợp trong chuỗi trong khi
< class 'callable_iterator' >
< callable_iterator object at 0x7f0c5cc24e48 >
gcptutorials
wikipedia
google
0 trả về
< class 'callable_iterator' >
< callable_iterator object at 0x7f0c5cc24e48 >
gcptutorials
wikipedia
google
1 của các mẫu phù hợp trong chuỗi. Tham khảo đoạn mã dưới đây để hiểu sự khác biệt giữa
< class 'callable_iterator' >
< callable_iterator object at 0x7f0c5cc24e48 >
gcptutorials
wikipedia
google
0 và
< class 'callable_iterator' >
< callable_iterator object at 0x7f0c5cc24e48 >
gcptutorials
wikipedia
google
0Đoạn mã 1. Trích xuất tên miền từ văn bản
< class 'callable_iterator' >
< callable_iterator object at 0x7f0c5cc24e48 >
gcptutorials
wikipedia
google
4
import re
text = ''' Extract the doamin from the urls www.gcptutorials.com,
www.wikipedia.org, www.google.com'''
pattern = r'[www.[[A-Za-z_0-9-]+][.\w+]]'
find_iter_result = re.finditer[pattern, text]
print[type[find_iter_result]]
print[find_iter_result]
for i in find_iter_result:
print[i.group[2]]
đầu ra
< class 'callable_iterator' >
< callable_iterator object at 0x7f0c5cc24e48 >
gcptutorials
wikipedia
google
< class 'callable_iterator' >
< callable_iterator object at 0x7f0c5cc24e48 >
gcptutorials
wikipedia
google
5
import re
text = ''' Extract the domain from the urls www.gcptutorials.com,
www.wikipedia.org, www.google.com'''
pattern = r'[www.[[A-Za-z_0-9-]+][.\w+]]'
find_all_result = re.findall[pattern, text]
print[type[find_all_result]]
print[find_all_result]
for i in find_all_result:
print[i[1]]
đầu ra
________số 8Đoạn mã 2. Trích xuất email từ văn bản
Trích xuất email từ văn bản bằng cách sử dụng
< class 'callable_iterator' >
< callable_iterator object at 0x7f0c5cc24e48 >
gcptutorials
wikipedia
google
4
< class 'callable_iterator' >
< callable_iterator object at 0x7f0c5cc24e48 >
gcptutorials
wikipedia
google
0Đầu ra ví dụ
< class 'callable_iterator' >
< callable_iterator object at 0x7f0c5cc24e48 >
gcptutorials
wikipedia
google
1Trích xuất email từ văn bản bằng cách sử dụng
< class 'callable_iterator' >
< callable_iterator object at 0x7f0c5cc24e48 >
gcptutorials
wikipedia
google
5
< class 'callable_iterator' >
< callable_iterator object at 0x7f0c5cc24e48 >
gcptutorials
wikipedia
google
3Đầu ra ví dụ
< class 'callable_iterator' >
< callable_iterator object at 0x7f0c5cc24e48 >
gcptutorials
wikipedia
google
4 Phương thức
< class 'callable_iterator' >
< callable_iterator object at 0x7f0c5cc24e48 >
gcptutorials
wikipedia
google
3 trả về một trình vòng lặp trên tất cả các kết quả khớp không chồng chéo trong chuỗi. Đối với mỗi trận đấu, trình vòng lặp trả về một đối tượng Match. Dưới đây là một số ví dụ về việc sử dụng
< class 'callable_iterator' >
< callable_iterator object at 0x7f0c5cc24e48 >
gcptutorials
wikipedia
google
3 Sự định nghĩa. trả về một trình vòng lặp đi qua tất cả các kết quả khớp không chồng chéo của
< class 'callable_iterator' >
< callable_iterator object at 0x7f0c5cc24e48 >
gcptutorials
wikipedia
google
5 trong
< class 'callable_iterator' >
< callable_iterator object at 0x7f0c5cc24e48 >
gcptutorials
wikipedia
google
6Đối số
< class 'callable_iterator' >
< callable_iterator object at 0x7f0c5cc24e48 >
gcptutorials
wikipedia
google
7 cho phép bạn tùy chỉnh một số thuộc tính nâng cao của công cụ biểu thức chính quy, chẳng hạn như có nên bỏ qua việc viết hoa các ký tự hay không. Bạn có thể tìm hiểu thêm về đối số flags trong blog hướng dẫn chi tiết của tôiThí dụ. Bạn có thể sử dụng iterator để đếm số trận đấu. Trái ngược với phương pháp
< class 'callable_iterator' >
< callable_iterator object at 0x7f0c5cc24e48 >
gcptutorials
wikipedia
google
50 được mô tả ở trên, phương pháp này có ưu điểm là bạn có thể tự phân tích các đối tượng khớp mang nhiều thông tin hơn là chỉ chuỗi con khớp
< class 'callable_iterator' >
< callable_iterator object at 0x7f0c5cc24e48 >
gcptutorials
wikipedia
google
6Nếu bạn muốn đếm số trận đấu, bạn có thể sử dụng biến
< class 'callable_iterator' >
< callable_iterator object at 0x7f0c5cc24e48 >
gcptutorials
wikipedia
google
51
< class 'callable_iterator' >
< callable_iterator object at 0x7f0c5cc24e48 >
gcptutorials
wikipedia
google
5Hoặc một giải pháp Pythonic hơn
< class 'callable_iterator' >
< callable_iterator object at 0x7f0c5cc24e48 >
gcptutorials
wikipedia
google
9Phương pháp này hoạt động tốt nếu có các kết quả khớp không chồng chéo
Chris
Trong khi làm việc với tư cách là một nhà nghiên cứu trong các hệ thống phân tán, Dr. Christian Mayer tìm thấy tình yêu của mình với việc dạy sinh viên khoa học máy tính
Để giúp sinh viên đạt được mức độ thành công Python cao hơn, anh ấy đã thành lập trang web giáo dục lập trình Finxter. com. Ông là tác giả của cuốn sách lập trình nổi tiếng Python One-Liners [NoStarch 2020], đồng tác giả của loạt sách tự xuất bản Coffee Break Python, người đam mê khoa học máy tính, cộng tác viên tự do và chủ sở hữu của một trong 10 blog Python lớn nhất thế giới
Niềm đam mê của anh ấy là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh ấy là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ nâng cao kỹ năng của mình. Bạn có thể tham gia học viện email miễn phí của anh ấy tại đây