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 search() trong Python Regex

Trong việc xử lý chuỗi và tìm kiếm các mẫu ký tự, biểu thức chính quy (regex) là một công cụ mạnh mẽ và linh hoạt. Trong Python, module re cung cấp nhiều hàm hữu ích để làm việc với các biểu thức chính quy. Một trong những hàm quan trọng nhất là hàm search(), cho phép bạn tìm kiếm và trả về kết quả khớp đầu tiên của một mẫu trong chuỗi. Hướng dẫn này sẽ giúp bạn hiểu rõ cách sử dụng hàm search() trong regex của Python, 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 search() trong Python regex

Hàm search() là một hàm trong module re của Python, dùng để xử lý các biểu thức chính quy. Hàm search() có cú pháp như sau:

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

Trong đó:

  • 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à một hoặc nhiều cờ biểu thức chính quy để thay đổi hành vi tiêu chuẩn của mẫu.

Hàm search() quét chuỗi từ trái sang phải và tìm vị trí đầu tiên nơi mẫu khớp. Nó trả về một đối tượng Match nếu tìm kiếm thành công hoặc None nếu không tìm thấy.

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

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

Hãy cùng xem một số ví dụ về cách sử dụng hàm search().

Sử dụng hàm search() để tìm kết quả khớp đầu tiên

Ví dụ sau sử dụng hàm search() để tìm số đầu tiên trong chuỗi:

import re

s = 'Python 3 was released on Dec 3, 2008'
pattern = '\d+'

match = re.search(pattern, s)

if match is not None:
    print(match.group())
else:
    print('No match found')

Output:

3

Trong ví dụ này, mẫu \d+ khớp với một hoặc nhiều chữ số. Hàm search() trả về một đối tượng Match.

Sử dụng hàm search() để tìm từ đầu tiên khớp với mẫu

Ví dụ sau sử dụng hàm search() để tìm từ đầu tiên kết thúc bằng chuỗi thon trong chuỗi:

import re

s = 'CPython, IronPython, or Cython'
pattern = r'\b((\w+)thon)\b'

match = re.search(pattern, s)

if match is not None:
    print(match.groups())

Output:

('CPython', 'CPy')

Mẫu r'\b((\w+)thon)\b' có hai nhóm bắt:

  • (\w+) – bắt các ký tự ở đầu từ.
  • ((\w+)thon) – bắt toàn bộ từ.

Sử dụng hàm search() với cờ biểu thức chính quy

Ví dụ sau sử dụng hàm search() để tìm từ python đầu tiên trong chuỗi:

import re

s = 'Python or python'
pattern = r'\bpython\b'

match = re.search(pattern, s)
print(match)

Output:

<re.Match object; span=(10, 16), match='python'>

Để tìm khớp không phân biệt chữ hoa chữ thường, bạn có thể truyền cờ re.IGNORECASE vào tham số thứ ba của hàm search(). Ví dụ:

import re

s = 'Python or python'
pattern = r'\bpython\b'

match = re.search(pattern, s, re.IGNORECASE)
print(match)

Output:

<re.Match object; span=(0, 6), match='Python'>

Kết bài

Hàm search() trong regex của Python là một công cụ mạnh mẽ giúp bạn tìm kiếm và xác định vị trí của các mẫu ký tự trong chuỗi. Bằng cách sử dụng cú pháp đơn giản và các tùy chọn linh hoạt như flags, bạn có thể dễ dàng tìm thấy các kết quả khớp đầu tiên trong chuỗi. Việc hiểu rõ cách sử dụng hàm search() không chỉ giúp bạn xử lý chuỗi hiệu quả hơn mà còn mở rộng khả năng ứng dụng của bạn trong nhiều lĩnh vực khác nhau. Hy vọng qua hướng dẫn này, bạn đã nắm vững cách sử dụng hàm search() và sẵn sàng áp dụng vào các bài toán thực tế.

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