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:

Sử dụng câu lệnh raise from trong Python

Sử dụng câu lệnh raise from trong Python

Ngoại lệ tùy chỉnh trong Python

Ngoại lệ tùy chỉnh trong Python

Ngoại lệ Raise trong Python

Ngoại lệ Raise trong Python

Tìm hiểu về các ngoại lệ trong Python

Tìm hiểu về các ngoại lệ trong Python

Tìm hiểu về decorator dataclass trong Python

Tìm hiểu về decorator dataclass trong Python

Ví dụ sử dụng metaclass trong Python

Ví dụ sử dụng metaclass trong Python

Lớp Metaclass trong Python

Lớp Metaclass trong Python

Tìm hiểu về Class Type trong Python

Tìm hiểu về Class Type trong Python

Phương thức __new__ trong Python

Phương thức __new__ trong Python

Phân biệt Data Descriptor và Non-data Descriptor trong Python

Phân biệt Data Descriptor và Non-data Descriptor trong Python

Mô tả Descriptors trong Python

Mô tả Descriptors trong Python

Tìm hiểu về các lớp mixin trong Python

Tìm hiểu về các lớp mixin trong Python

Đa kế thừa trong Python

Đa kế thừa trong Python

Nguyên tắc đảo ngược sự phụ thuộc trong Python

Nguyên tắc đảo ngược sự phụ thuộc trong Python

Interface Segregation Principle - ISP trong Python.

Interface Segregation Principle - ISP trong Python.

Nguyên tắc thay thế Liskov - LSP trong Python

Nguyên tắc thay thế Liskov - LSP trong Python

Nguyên tắc Đóng-Mở trong Python

Nguyên tắc Đóng-Mở trong Python

Single Responsibility Principle trong Python

Single Responsibility Principle trong Python

Cách sử dụng hàm Auto() của Python

Cách sử dụng hàm Auto() của Python

Tùy chỉnh và mở rộng lớp Enum trong Python

Tùy chỉnh và mở rộng lớp Enum trong Python

Top