Phương thức finditer của mô-đun re
Phương thức finditer của mô-đun re
trả về một trình vòng lặp của tất cả các kết quả khớp với biểu thức chính quy
trong chuỗi. Trong tham số đầu tiên của phương thức, chúng ta chỉ định
biểu thức chính quy. Trong tham số thứ hai, chúng ta đặt
chuỗi mà chúng ta tìm kiếm biểu thức chính quy. Trong tham số thứ ba
không bắt buộc, chúng ta có thể đặt các cờ.
Phương thức kiểm tra tất cả các kết quả khớp, tìm kiếm chúng
từ trái sang phải.
Cú pháp
import re
re.finditer(biểu_thức_chính_quy, chuỗi, [cờ])
Ví dụ
Hãy tìm tất cả các chuỗi con có chữ số trong chuỗi của chúng ta:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)
print(res)
Kết quả thực thi mã:
<callable_iterator object at 0x000002AA891300A0>
Ví dụ
Bây giờ hãy khai báo biến res,
giá trị của nó là đối tượng chúng ta nhận được
trong ví dụ trước. Sau đó lặp qua
nó bằng vòng lặp:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)
for el in res:
print(el)
Sau khi thực thi mã, chúng ta sẽ nhận được hai đối tượng Match object:
<re.Match object; span=(5, 8), match='123'>
<re.Match object; span=(14, 17), match='456'>
Các đối tượng này chứa thông tin về tất cả các kết quả khớp với biểu thức chính quy dưới dạng tuple. Chúng ta có thể xuất các kết quả khớp từ chúng theo chỉ mục:
for el in res:
print(el[0])
Kết quả thực thi mã:
'123'
'456'
Ví dụ
Để minh họa rõ hơn, khi tìm kiếm các kết quả khớp hãy sử dụng các nhóm bắt giữ. Và trong khi lặp qua các đối tượng bằng vòng lặp, hãy xuất kết quả khớp đầu tiên (nó sẽ được coi là nhóm bắt giữ số 0), cũng như các phần tử của nó, lần lượt cũng được phân chia vào các nhóm bắt giữ:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('(\d)(\d)', txt)
for el in res:
print(el[0], el[1], el[2])
Sau khi thực thi mã, chúng ta nhận được nhóm bắt giữ thứ 0, tức là toàn bộ chuỗi con, cũng như ký tự đầu tiên và thứ hai từ chuỗi con này:
'12' '1' '2'
'45' '4' '5'
Xem thêm
-
phương thức
findallcủa mô-đunre,
trả về danh sách tất cả các kết quả khớp trong chuỗi -
phương thức
searchcủa mô-đunre,
tìm kiếm kết quả khớp đầu tiên với biểu thức chính quy trong chuỗi -
phương thức
matchcủa mô-đunre,
tìm kiếm kết quả khớp với biểu thức chính quy ở đầu chuỗi -
phương thức
fullmatchcủa mô-đunre,
tìm kiếm tất cả các kết quả khớp với biểu thức chính quy trong chuỗi -
đối tượng
Match objectcủa mô-đunre,
chứa thông tin về các kết quả khớp với biểu thức chính quy -
phương thức
splitcủa mô-đunre,
phân chia chuỗi thành danh sách theo dấu phân cách được chỉ định