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

Sự khác biệt giữa phương thức re.search () và re.findall () trong biểu thức chính quy Python là gì?


Phương thức re.search () tương tự như re.match () nhưng nó không giới hạn chúng ta chỉ tìm thấy các kết quả phù hợp ở đầu chuỗi.

Ví dụ

import re
result = re.search(r'Tutorials', 'TP Tutorials Point TP')
print result.group()

Đầu ra

Tutorials

Ở đây bạn có thể thấy rằng, phương thức search () có thể tìm thấy một mẫu từ bất kỳ vị trí nào của chuỗi.

re.findall () giúp lấy danh sách tất cả các mẫu phù hợp. Nó tìm kiếm từ đầu hoặc cuối của chuỗi nhất định. Nếu chúng ta sử dụng phương thức findall để tìm kiếm một mẫu trong một chuỗi đã cho, nó sẽ trả về tất cả các lần xuất hiện của mẫu đó. Trong khi tìm kiếm một mẫu, bạn nên sử dụng re.findall () luôn, nó hoạt động giống như re.search () và re.match () cả hai.

Ví dụ

import re
result = re.search(r'TP', 'TP Tutorials Point TP')
print result.group()

Đầu ra

TP