Computer >> Máy Tính >  >> Lập trình >> Python

Nhóm biểu thức chính quy hoạt động như thế nào trong Python?

Nhóm

Chúng tôi nhóm một phần của biểu thức chính quy bằng cách bao quanh nó bằng dấu ngoặc đơn. Đây là cách chúng tôi áp dụng các toán tử cho nhóm hoàn chỉnh thay vì một ký tự.

Chụp nhóm

Dấu ngoặc đơn không chỉ nhóm các biểu thức con mà chúng còn tạo ra các tham chiếu ngược. Phần của chuỗi được so khớp với phần được nhóm của biểu thức chính quy, được lưu trữ trong một tham chiếu ngược. Với sự trợ giúp của backreferences, chúng tôi sử dụng lại các phần của biểu thức chính quy.

Trong các ứng dụng thực tế, chúng ta thường cần các biểu thức chính quy có thể khớp với bất kỳ một trong hai hoặc nhiều lựa chọn thay thế. Ngoài ra, đôi khi chúng ta muốn một bộ định lượng áp dụng cho một số biểu thức. Tất cả những điều này có thể đạt được bằng cách nhóm với dấu ngoặc đơn; và sử dụng xen kẽ với thanh dọc (|).

Luân phiên hữu ích khi chúng ta muốn so khớp bất kỳ một trong số các lựa chọn thay thế khác nhau. Ví dụ:regex plane | airplane | jet sẽ khớp với bất kỳ văn bản nào có chứa máy bay hoặc máy bay hoặc máy bay phản lực. Mục tiêu tương tự có thể đạt được bằng cách sử dụng máy bay phản lực regex air (craft | plane) |

Ví dụ

import re
s = 'Tahiti $% Tahiti *&^ 34 Atoll'
result = re.findall(r'(\w+)', s)
print result

Đầu ra

Điều này cho kết quả

['Tahiti', 'Tahiti', '34', 'Atoll']