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

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

Anchors là các mã thông báo regex không khớp với bất kỳ ký tự nào nhưng nói hoặc khẳng định điều gì đó về chuỗi hoặc quá trình đối sánh. Neo thông báo cho chúng tôi biết rằng vị trí hiện tại của công cụ trong chuỗi khớp với một vị trí đã xác định:ví dụ:đầu chuỗi / dòng hoặc cuối chuỗi / dòng.

Loại khẳng định này hữu ích vì nhiều lý do. Đầu tiên, nó cho phép bạn chỉ định rằng bạn muốn khớp các bảng chữ cái / chữ số ở đầu / cuối của một chuỗi / dòng, chứ không phải ở bất kỳ đâu khác. Thứ hai, khi bạn nói với engine rằng bạn muốn tìm một mẫu tại một vị trí nhất định, nó sẽ không cần tìm mẫu đó ở bất kỳ vị trí nào khác. Đây là lý do tại sao bạn nên sử dụng neo bất cứ khi nào có thể.

^ và $ là hai ví dụ về mã thông báo neo trong regex.

Đoạn mã sau đây cho thấy việc sử dụng các ký tự neo ^ và $

import re
s = 'Princess Diana was a beauty icon'
result = re.search(r'^\w+', s)
print result.group()
result2 = re.search(r'\w+$', s)
print result2.group()

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

Princess
icon