PYTHON REGEX
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Thông báo: Download 4 khóa học Python từ cơ bản đến nâng cao tại đây.

Hàm finditer() của Regex trong Python

Python cung cấp module re với nhiều hàm mạnh mẽ để làm việc với biểu thức chính quy (regex). Một trong những hàm tốt nhất trong module này là finditer(). Hàm finditer() cho phép bạn tìm kiếm tất cả các kết quả khớp với một mẫu trong chuỗi và trả về một iterator mà nó tạo ra các đối tượng Match. Điều này đặc biệt hữu ích khi bạn cần xử lý từng kết quả khớp một cách tuần tự mà không cần phải lưu tất cả các kết quả vào bộ nhớ cùng một lúc. Trong bài viết này, chúng ta sẽ cùng tìm hiểu cách sử dụng hàm finditer() thông qua các ví dụ cụ thể và dễ hiểu.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Giới thiệu về hàm finditer() trong Python

Hàm finditer() khớp một mẫu trong một chuỗi và trả về một iterator mà nó tạo ra các đối tượng Match của tất cả các kết quả khớp không chồng lấp.

Cú pháp của hàm finditer() như sau:

re.finditer(pattern, string, flags=0)

Trong cú pháp này:

Bài viết này được đăng tại [free tuts .net]

  • pattern là biểu thức chính quy mà bạn muốn tìm kiếm trong chuỗi.
  • string là chuỗi đầu vào.
  • flags là tham số tùy chọn và mặc định là không. Tham số flags chấp nhận một hoặc nhiều cờ regex. Tham số flags thay đổi cách mà regex engine khớp mẫu.

Nếu việc tìm kiếm thành công, hàm finditer() sẽ trả về một iterator tạo ra các đối tượng Match. Nếu không, finditer() cũng sẽ trả về một iterator mà không tạo ra đối tượng Match nào.

Ví dụ về hàm finditer() trong Python

Ví dụ sau sử dụng hàm finditer() để tìm tất cả các nguyên âm trong một chuỗi:

import re

s = 'Readability counts.'
pattern = r'[aeiou]'

matches = re.finditer(pattern, s)
for match in matches:
    print(match)

Kết quả:

<re.Match object; span=(1, 2), match='e'>
<re.Match object; span=(2, 3), match='a'>
<re.Match object; span=(4, 5), match='a'>
<re.Match object; span=(6, 7), match='i'>
<re.Match object; span=(8, 9), match='i'>
<re.Match object; span=(13, 14), match='o'>
<re.Match object; span=(14, 15), match='u'>

Kết bài

Qua bài viết này, chúng ta đã tìm hiểu cách sử dụng hàm finditer() trong module re của Python để tìm kiếm và xử lý các mẫu khớp trong chuỗi. Với khả năng trả về một iterator, finditer() không chỉ giúp tối ưu hóa bộ nhớ mà còn cho phép chúng ta xử lý từng kết quả một cách tuần tự và linh hoạt. Những ví dụ cụ thể đã minh họa rõ ràng cách ứng dụng hàm này trong các tình huống thực tế, từ việc tìm kiếm các ký tự nguyên âm trong chuỗi đến việc xử lý các mẫu phức tạp hơn. Hiểu và sử dụng thành thạo hàm finditer() sẽ là một kỹ năng hữu ích, giúp bạn làm việc hiệu quả hơn với các chuỗi và biểu thức chính quy trong Python.

Cùng chuyên mục:

Hướng dẫn xây dựng Command-Line Interface (CLI) bằng Quo trong Python

Hướng dẫn xây dựng Command-Line Interface (CLI) bằng Quo trong Python

Hướng dẫn toàn diện về module datetime trong Python

Hướng dẫn toàn diện về module datetime trong Python

Cách truy cập và thiết lập biến môi trường trong Python

Cách truy cập và thiết lập biến môi trường trong Python

Lớp dữ liệu (Data Classes) trong Python với decorator @dataclass

Lớp dữ liệu (Data Classes) trong Python với decorator @dataclass

Từ khóa yield trong Python

Từ khóa yield trong Python

Sự khác biệt giữa sort() và sorted() trong Python

Sự khác biệt giữa sort() và sorted() trong Python

Sử dụng Poetry để quản lý dependencies trong Python

Sử dụng Poetry để quản lý dependencies trong Python

Định dạng chuỗi Strings trong Python

Định dạng chuỗi Strings trong Python

Một tác vụ phổ biến khi làm việc với danh sách trong Python

Một tác vụ phổ biến khi làm việc với danh sách trong Python

Làm việc với các biến môi trường trong Python

Làm việc với các biến môi trường trong Python

Sự khác biệt giữa set() và frozenset() trong Python

Sự khác biệt giữa set() và frozenset() trong Python

Sự khác biệt giữa iterator và iterable trong Python

Sự khác biệt giữa iterator và iterable trong Python

Cách làm việc với file tarball/tar trong Python

Cách làm việc với file tarball/tar trong Python

Chuyển đổi kiểu dữ liệu trong Python

Chuyển đổi kiểu dữ liệu trong Python

Sự khác biệt giữa toán tử == và is trong Python

Sự khác biệt giữa toán tử == và is trong Python

Làm việc với file ZIP trong Python

Làm việc với file ZIP trong Python

Cách sử dụng ThreadPoolExecutor trong Python

Cách sử dụng ThreadPoolExecutor trong Python

Sự khác biệt giữa byte objects và string trong Python

Sự khác biệt giữa byte objects và string trong Python

Xử lý độ chính xác các hàm floor, ceil, round, trunc, format  trong Python

Xử lý độ chính xác các hàm floor, ceil, round, trunc, format trong Python

Cách lặp qua nhiều list với hàm zip() trong Python

Cách lặp qua nhiều list với hàm zip() trong Python

Top