Trong bài viết này, chúng ta sẽ tìm hiểu cách tìm tất cả các kết quả khớp với biểu thức chính quy trong Python. Phương thức
target_string = "Emma is a basketball player who was born on June 17, 1993. She played 112 matches with scoring average 26.12 points per game. Her weight is 51 kg."
0 của mô-đun RE quét mẫu biểu thức chính quy thông qua toàn bộ chuỗi mục tiêu và trả về tất cả các kết quả phù hợp được tìm thấy ở dạng danh sáchMục lục
Làm thế nào để sử dụng lại. tìm tất cả []
Trước khi tiếp tục, hãy xem cú pháp của phương thức
target_string = "Emma is a basketball player who was born on June 17, 1993. She played 112 matches with scoring average 26.12 points per game. Her weight is 51 kg."
0cú pháp
re.findall[pattern, string, flags=0]
2. mẫu biểu thức chính quy chúng tôi muốn tìm trong chuỗi hoặc văn bảntarget_string = "Emma is a basketball player who was born on June 17, 1993. She played 112 matches with scoring average 26.12 points per game. Her weight is 51 kg."
3. Đó là biến trỏ đến chuỗi đích [trong đó chúng tôi muốn tìm kiếm các lần xuất hiện của mẫu]target_string = "Emma is a basketball player who was born on June 17, 1993. She played 112 matches with scoring average 26.12 points per game. Her weight is 51 kg."
4. Nó đề cập đến các cờ regex tùy chọn. theo mặc định, không có cờ nào được áp dụng. Ví dụ: cờtarget_string = "Emma is a basketball player who was born on June 17, 1993. She played 112 matches with scoring average 26.12 points per game. Her weight is 51 kg."
5 được sử dụng để thực hiện các phát hiện không phân biệt chữ hoa chữ thườngtarget_string = "Emma is a basketball player who was born on June 17, 1993. She played 112 matches with scoring average 26.12 points per game. Her weight is 51 kg."
Mẫu biểu thức chính quy và chuỗi đích là đối số bắt buộc và cờ là tùy chọn
Giá trị trả về
target_string = "Emma is a basketball player who was born on June 17, 1993. She played 112 matches with scoring average 26.12 points per game. Her weight is 51 kg."
0 quét chuỗi mục tiêu từ trái sang phải theo mẫu biểu thức chính quy và trả về tất cả các kết quả khớp theo thứ tự chúng được tìm thấyNó trả về
target_string = "Emma is a basketball player who was born on June 17, 1993. She played 112 matches with scoring average 26.12 points per game. Her weight is 51 kg."
7 nếu nó không xác định được các lần xuất hiện của mẫu hoặc một mẫu như vậy không tồn tại trong chuỗi mục tiêuVí dụ để tìm tất cả các kết quả khớp với mẫu biểu thức chính quy
Trong ví dụ này, chúng tôi sẽ tìm thấy tất cả các số có trong chuỗi mục tiêu. Để đạt được điều này, hãy viết một mẫu biểu thức chính quy
Họa tiết.
target_string = "Emma is a basketball player who was born on June 17, 1993. She played 112 matches with scoring average 26.12 points per game. Her weight is 51 kg."
8Mô hình này có nghĩa là gì?
9 là một chuỗi biểu thức chính quy đặc biệt khớp với bất kỳ chữ số nào từ 0 đến 9 trong chuỗi mục tiêutarget_string = "Emma is a basketball player who was born on June 17, 1993. She played 112 matches with scoring average 26.12 points per game. Her weight is 51 kg."
- Ký tự meta
10 cho biết số có thể chứa tối thiểu một hoặc tối đa bất kỳ số chữ số nàotarget_string = "Emma is a basketball player who was born on June 17, 1993. She played 112 matches with scoring average 26.12 points per game. Her weight is 51 kg."
Nói một cách đơn giản, nó có nghĩa là khớp với bất kỳ số nào trong chuỗi mục tiêu sau
target_string = "Emma is a basketball player who was born on June 17, 1993. She played 112 matches with scoring average 26.12 points per game. Her weight is 51 kg."
Như chúng ta có thể thấy trong chuỗi trên có các số '17', '1993', '112', '26', '12', '51', vì vậy chúng ta sẽ nhận được tất cả các số đó ở đầu ra
Thí dụ
target_string = "Emma is a basketball player who was born on June 17, 1993. She played 112 matches with scoring average 26.12 points per game. Her weight is 51 kg."
1Ghi chú
Trước hết, tôi đã sử dụng một chuỗi thô để chỉ định mẫu biểu thức chính quy tôi. e
target_string = "Emma is a basketball player who was born on June 17, 1993. She played 112 matches with scoring average 26.12 points per game. Her weight is 51 kg."
11. Như bạn có thể đã biết, dấu gạch chéo ngược có ý nghĩa đặc biệt trong một số trường hợp vì nó có thể biểu thị ký tự thoát hoặc chuỗi thoát để tránh việc chúng ta phải sử dụng chuỗi thôphương pháp tìm kiếm
target_string = "Emma is a basketball player who was born on June 17, 1993. She played 112 matches with scoring average 26.12 points per game. Her weight is 51 kg."
12 hoạt động chính xác giống như phương thức target_string = "Emma is a basketball player who was born on June 17, 1993. She played 112 matches with scoring average 26.12 points per game. Her weight is 51 kg."
0 ngoại trừ nó trả về một trình vòng lặp mang lại các đối tượng khớp khớp với mẫu biểu thức chính quy trong một chuỗi thay vì một danh sáchNó quét chuỗi từ trái sang phải và các kết quả khớp được trả về ở dạng trình vòng lặp. Sau này, chúng ta có thể sử dụng đối tượng lặp này để trích xuất tất cả các kết quả phù hợp
Nói một cách đơn giản,
target_string = "Emma is a basketball player who was born on June 17, 1993. She played 112 matches with scoring average 26.12 points per game. Her weight is 51 kg."
14 trả về một trình vòng lặp trên các đối tượng MatchObjectNhưng tại sao lại sử dụng
target_string = "Emma is a basketball player who was born on June 17, 1993. She played 112 matches with scoring average 26.12 points per game. Her weight is 51 kg."
14?Trong một số trường hợp, số lượng trận đấu cao và bạn có thể gặp rủi ro làm đầy bộ nhớ của mình bằng cách tải tất cả chúng bằng cách sử dụng
target_string = "Emma is a basketball player who was born on June 17, 1993. She played 112 matches with scoring average 26.12 points per game. Her weight is 51 kg."
16. Thay vì sử dụng target_string = "Emma is a basketball player who was born on June 17, 1993. She played 112 matches with scoring average 26.12 points per game. Her weight is 51 kg."
14, bạn có thể nhận được tất cả các kết quả phù hợp có thể có dưới dạng một đối tượng trình vòng lặp, điều này sẽ cải thiện hiệu suấtĐiều đó có nghĩa là,
target_string = "Emma is a basketball player who was born on June 17, 1993. She played 112 matches with scoring average 26.12 points per game. Her weight is 51 kg."
14 trả về một đối tượng có thể gọi được sẽ tải kết quả vào bộ nhớ khi được gọi. Vui lòng tham khảo câu trả lời Stackoverflow này để biết các lợi ích về hiệu suất của các trình vòng lặpví dụ về công cụ tìm kiếm
Bây giờ, hãy xem ví dụ để tìm tất cả hai chữ số liên tiếp bên trong chuỗi mục tiêu
re.findall[pattern, string, flags=0]
2đầu ra
re.findall[pattern, string, flags=0]
3Sử dụng nhiều hơn
- Sử dụng công cụ tìm kiếm để tìm các chỉ mục của tất cả các kết quả khớp regex
- Regex tìm tất cả các ký hiệu đặc biệt từ một chuỗi
Regex tìm tất cả các từ bắt đầu bằng các chữ cái cụ thể
Trong ví dụ này, chúng ta sẽ xem giải quyết 2 tình huống sau
- tìm tất cả các từ bắt đầu bằng một chữ cái/ký tự cụ thể
- tìm tất cả các từ bắt đầu bằng một chuỗi con cụ thể
Bây giờ, giả sử bạn có chuỗi sau
re.findall[pattern, string, flags=0]
4Bây giờ hãy tìm tất cả các từ bắt đầu bằng chữ p. Ngoài ra, hãy tìm tất cả các từ bắt đầu bằng chuỗi con 'py'